R-选择四列中至少一列中具有非NA值的行
我有一个很好用的代码:R-选择四列中至少一列中具有非NA值的行,r,na,missing-data,R,Na,Missing Data,我有一个很好用的代码: CompleteCoxObs<-temp[is.na(temp[,8])== FALSE | is.na(temp[,9])== FALSE | is.na(temp[,10])== FALSE,]; CompleteCoxObs您可以尝试此操作来检查所有列: CompleteCox.df <- temp.df[rowSums(is.na(temp.df)) != ncol(temp.df),] CompleteCox.df您可以尝试此操作来检查所有列:
CompleteCoxObs<-temp[is.na(temp[,8])== FALSE | is.na(temp[,9])== FALSE | is.na(temp[,10])== FALSE,];
CompleteCoxObs您可以尝试此操作来检查所有列:
CompleteCox.df <- temp.df[rowSums(is.na(temp.df)) != ncol(temp.df),]
CompleteCox.df您可以尝试此操作来检查所有列:
CompleteCox.df <- temp.df[rowSums(is.na(temp.df)) != ncol(temp.df),]
CompleteCox.df您可以尝试以下方法之一:
temp[!is.na(rowSums(temp[,8:10])),]
或
或
您可以尝试以下方法之一:
temp[!is.na(rowSums(temp[,8:10])),]
或
或
工作,注意将“!”放在is.na前面
有效,请注意将“!”放在is.na前面参见na。省略is.na(x)=FALSE的缩写is!is.na(x)
请参见na.ommit
函数。对于is.na(x)=FALSE
is,请使用缩写!is.na(x)
这是一个非常优雅的解决方案,谢谢!然而,这可以翻译为“至少有一列temp.df不是NA”,对吗?我的数据框有16列,我只想将其应用于其中的3列(cols 8、9、10),因此我需要稍微修改您的代码。@nasim让我们稍微调整一下。@nasim现在试试。这是一个非常优雅的解决方案,谢谢!然而,这可以翻译为“至少有一列temp.df不是NA”,对吗?我的数据框有16列,我只想将其应用于其中的3列(cols 8、9、10),因此我需要稍微修改您的代码。@nasim让我们稍微调整一下。@nasim现在试一试。
temp[na.omit(temp[,8:10]),]
temp[apply(!is.na(temp[,8:10]),1,any),]