R-在四列中的至少一列中选择具有非NA值的行

时间:2017-05-19 18:52:15

标签: r na missing-data

我有这个代码可以正常工作:

CompleteCoxObs<-temp[is.na(temp[,8])== FALSE | is.na(temp[,9])== FALSE | is.na(temp[,10])== FALSE,];

获得相同结果的更好,更有效的方法是什么?

3 个答案:

答案 0 :(得分:2)

您可以尝试检查所有列:

CompleteCox.df <- temp.df[rowSums(is.na(temp.df)) != ncol(temp.df),]

在你的情况下:

CompleteCox.df <- temp.df[rowSums(is.na(temp.df[, c(8,9,10)])) != 3,]

答案 1 :(得分:1)

您可以尝试以下方法之一:

temp[!is.na(rowSums(temp[,8:10])),]

temp[!apply(is.na(temp[,8:10]),1,any),]

temp[na.omit(temp[,8:10]),]

答案 2 :(得分:0)

temp[apply(!is.na(temp[,8:10]),1,any),]

有效,请注意放置“!”在is.na前面