У меня есть следующий фрейм данных в 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
Я прошу кого-нибудь помочь мне здесь.