R中的数据表:使用列索引计算列中的NA值

evg*_*nko 1 r data.table

我有带有列A,B,C的data.table G:

下面的代码计算A列中的NA值:

G[is.na(A), .N]
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用列索引(对于列A索引= 1)时-我看不到任何结果:

G[is.na(.SD), .N, .SDcols = 1]
Run Code Online (Sandbox Code Playgroud)

如何正确解决此问题?

akr*_*run 6

我们可以从“ j”本身获得计数。

G[, sum(is.na(.SD)),  .SDcols = 1]
Run Code Online (Sandbox Code Playgroud)

如果有多个列,则遍历这些列并获取sumNA元素的

G[, lapply(.SD, function(x) sum(is.na(x))), .SDcols = 1:2]
Run Code Online (Sandbox Code Playgroud)