首页 > 解决方案 > 展开数据框在 R 中表现异常

问题描述

我在 R 中有以下数据框

DF2<-data.frame("A"= c(1,2,3,4,5), "B"= c(1,2,3,4,5), "C"= c(1,2,3,5,10), 
"D"=c(2,3,10,NA, NA))
 library(dplyr)
 library(tidyr)

数据框如下所示

   A B  C  D
 1 1 1  1  2
 2 2 2  2  3
 3 3 3  3 10
 4 4 4  5 NA
 5 5 5 10 NA

我使用以下代码使用 mutate 扩展数据集,如下所示

 D3<-DF2 %>%
 mutate(E= pmax(A, B,C, D, na.rm = T)) %>%
 complete(E = seq(max(E)))

我得到了以下输出

      E     A     B     C     D

  1     1    NA    NA    NA    NA
  2     2     1     1     1     2
  3     3     2     2     2     3
  4     4    NA    NA    NA    NA
  5     5     4     4     5    NA
  6     6    NA    NA    NA    NA
  7     7    NA    NA    NA    NA
  8     8    NA    NA    NA    NA
  9     9    NA    NA    NA    NA
 10    10     3     3     3    10
 11    10     5     5    10    NA

可以看出,我在E列得到了2行,value=10。预期的输出如下

     E  A  B  C  D
 1   1  1  1  1 NA
 2   2  2  2  2  2
 3   3  3  3  3  3
 4   4  4  4 NA NA
 5   5  5  5  5 NA
 6   6 NA NA NA NA
 7   7 NA NA NA NA
 8   8 NA NA NA NA
 9   9 NA NA NA NA
10  10 NA NA NA 10

我也尝试过使用这些代码

 DF2%>%mutate(E=pmax(A,B,C,D,na.rm = TRUE)) %>%
 complete(E=full_seq(E,1))

这产生了以下

      E      A     B     C     D

1     2      1     1     1     2
2     3      2     2     2     3
3     4     NA     NA    NA    NA
4     5      4     4     5     NA
5     6     NA    NA     NA    NA
6     7     NA    NA     NA    NA
7      8    NA    NA     NA    NA
8      9    NA    NA     NA    NA
9     10     3     3     3     10
10    10     5     5     10    NA

我请求有人在这里帮助我。

标签: rtidyrdplyr

解决方案


推荐阅读