Podczas obliczania sumy dwóch tabel danych, NA+n=NA
.Traktuj NA jako zero tylko podczas dodawania numeru
> dt1 <- data.table(Name=c("Joe","Ann"), "1"=c(0,NA), "2"=c(3,NA))
> dt1
Name 1 2
1: Joe 0 3
2: Ann NA NA
> dt2 <- data.table(Name=c("Joe","Ann"), "1"=c(0,NA), "2"=c(2,3))
> dt2
Name 1 2
1: Joe 0 2
2: Ann NA 3
> dtsum <- rbind(dt1, dt2)[, lapply(.SD, sum), by=Name]
> dtsum
Name 1 2
1: Joe 0 5
2: Ann NA NA
Nie chcę, aby zastąpić cały NA na 0. Co chcę jest NA+NA=NA
i NA+n=n
uzyskać następujący wynik:
Name 1 2
1: Joe 0 5
2: Ann NA 3
Jak to zrobić w R?
UPDATE: usunięto błąd w DT1
Jeśli połączysz się z poprzednim pytaniem, ludzie mogą lepiej zrozumieć, co masz nadzieję osiągnąć mplish i może zaoferować lepszą pomoc. http://stackoverflow.com/questions/15044342/sum-of-hybrid-data-frames-depending-on-multiple-conditions-in-r –
Wyizolowałem problem tutaj. Drugie pytanie zostało teraz rozwiązane. –