我正在使用大型数据集x.我想删除x一组列中的一列或多列中缺少的行,该列x由字符向量指定varcols.
到目前为止,我已经尝试了以下内容:
require(data.table)
x <- CJ(var1=c(1,0,NA),var2=c(1,0,NA))
x[, textcol := letters[1:nrow(x)]]
varcols <- c("var1","var2")
x[, missing := apply(sapply(.SD,is.na),1,any),.SDcols=varcols]
x <- x[!missing]
Run Code Online (Sandbox Code Playgroud)
有更快的方法吗?谢谢.
这应该比使用更快apply:
x[rowSums(is.na(x[, ..varcols])) == 0, ]
# var1 var2 textcol
# 1: 0 0 e
# 2: 0 1 f
# 3: 1 0 h
# 4: 1 1 i
Run Code Online (Sandbox Code Playgroud)