Разверните датафрейм, ведущий себя странно в R - PullRequest
0 голосов
/ 17 июня 2019

У меня есть следующий фрейм данных в 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

Как видно, я получил 2 строки в столбце E со значением = 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

Я прошу кого-нибудь помочь мне здесь.

...