Wenn Sie die Summe zweier Datentabellen berechnen, NA+n=NA
.Behandeln Sie NA nur dann als Null, wenn Sie eine Zahl hinzufügen
> 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
Ich will nicht alle NA mit 0 ersetzen Was ich will, ist NA+NA=NA
und NA+n=n
das folgende Ergebnis zu erhalten:
Name 1 2
1: Joe 0 5
2: Ann NA 3
Wie dies in R getan wird?
UPDATE: entfernt Tippfehler in DT1
Wenn Sie zurück zu Ihrer vorherigen Frage verknüpfen, können die Leute besser verstehen, was Sie hoffen zu akkumulieren mplish und kann bessere Hilfe anbieten. http://stackoverflow.com/questions/15044342/sum-of-hybrid-data-frames-depending-on-multiple-conditions-in-r –
Ich habe das Problem hier isoliert. Die andere Frage ist jetzt gelöst. –