x1 <- c(1, 2, 3)
x2 <- c("a", "b", "a")
x3 <- as.Date(c(NA, "2016/01/01", NA), "%Y/%m/%d")
df <- data.frame(x1,x2,x3)
, когда я применяю агрегат для df
:Совокупные по значению НС в R
aggregate(x1~x2+x3, df, sum)
Результат выглядит следующим образом, но игнорируется NA
значения:
x2 x3 x1
b 2016/01/01 2
Так что мне нужно агрегировать NA
и имеют такой результат:
x2 x3 x1
a NA 4
b 2016/01/01 2
Может ли кто-нибудь помочь в этом?
@jogo собирался сказать то же самое, но вы должны создать пользовательскую функцию ? – agenis
Я просто предлагаю использовать 'data.table' или что-то еще, что позволит вам группировать значения' NA'. Подобно 'library (data.table); as.data.table (df) [, sum (x1), by =. (x2, x3)] '. – A5C1D2H2I1M1N2O1R2T1
@jogo, я не думаю, что это сработало. Я уверен, что вам все равно придется изменить переменную группировки «x3», чтобы она не включала значения «NA» .... – A5C1D2H2I1M1N2O1R2T1