У меня есть следующий фрейм данных в R
DF2<-data.frame("A"= c(1,2,3,4,5), "A_1"= c(1,2,3,4,5), "B"= c(1,2,10,NA,NA), "B_1"=c(2,3,10,NA, NA), "ID"=c("A", "A", "A","A","A"))
Я попытался расширить фрейм данных, используя код
library(dplyr)
library(tidyr)
df2= DF2 %>%
mutate(E=pmax(A,B,na.rm = TRUE))%>%
complete(E = seq(max(E)))
Столбец E должен состоять из диапазона значений в A и B. Значения A_1, B_1 должны совпадать с соответствующими значениями столбца E
Я получаю следующий вывод
ID E A A_1 B B_1
1 A 1 1 1 1 2
2 A 2 2 2 2 3
3 A 3 NA NA NA NA
4 A 4 4 4 NA NA
5 A 5 5 5 NA NA
6 A 6 NA NA NA NA
7 A 7 NA NA NA NA
8 A 8 NA NA NA NA
9 A 9 NA NA NA NA
10 A 10 3 3 10 10
Тем не менее, я ожидаю следующий вывод
E ID A A_1 B B_1
1 1 A 1 1 1 2
2 2 A 2 2 2 3
3 3 A 3 3 NA NA
4 4 A 4 4 NA NA
5 5 A 5 5 NA NA
6 6 A NA NA NA NA
7 7 A NA NA NA NA
8 8 A NA NA NA NA
9 9 A NA NA NA NA
10 10 A NA NA 10 10
Я прошу кого-нибудь помочь здесь. Окончательный результат должен соответствовать значению A_1 со значением столбца E, так что значение E должно равняться значению A, иначе он должен возвращать ноль. ID - группирующая переменная