2つのデータテーブルの合計を計算する場合、NA+n=NA
。
> 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
すべてのNAを0に置き換えたくありません。必要なのはNA+NA=NA
、NA+n=n
次の結果を取得することです。
Name 1 2
1: Joe 0 5
2: Ann NA 3
これはRでどのように行われますか?
更新:dt1のタイプミスを削除