在data.table r中保留NA值的行

时间:2017-03-13 12:32:34

标签: r data.table

我想只保留表中的这些行,这些行在特定列中至少具有NA值。我需要的解决方案可以使用不同数量的列。

我有这样的代码:

library(data.table)
cols<-c("colname1","colname2")
DT<-DT[rowSums(is.na(DT[,cols,with=F])) == 2]

我在这段代码中遇到了这样的错误:

  

DT [,c(“colname1”,“colname2”)出错,带= F]:
      维数不正确

有人可以帮我解决这个问题吗?

我找到了正确的解决方案,但我仍然不知道为什么第一个解决方案不起作用。

cols<-c("colname1","colname2")    
DT<-DT[eval(rowSums(is.na(DT[,cols,with=F])) == length(cols))]

有人能告诉我为什么我的第一段代码不起作用吗?

1 个答案:

答案 0 :(得分:0)

你应该能够做到这一点:

仅保留两个相等的行

DT <- DT[(is.na("colname1") == T & is.na("colname2") == T), ]