今天我在我的程序中发现了一个错误,由于data.table
自动删除NA
mean
例如:
> a<-data.table(a=c(NA,NA,FALSE,FALSE), b=c(1,1,2,2))
> a
> a[,list(mean(a), sum(a)),by=b]
b V1 V2
1: 1 0 NA // Why V1 = 0 here? I had expected NA
2: 2 0 0
> mean(c(NA,NA,FALSE,FALSE))
[1] NA
> mean(c(NA,NA))
[1] NA
> mean(c(FALSE,FALSE))
[1] 0
这是预期的行为吗?