Select 行在至少一列中具有非 NA 值
Select rows with non-NA values in at least one of the desired columns
我的代码运行良好:
CompleteCoxObs<-temp[is.na(temp[,8])== FALSE | is.na(temp[,9])== FALSE | is.na(temp[,10])== FALSE,];
达到相同结果的更好、更有效的方法是什么?
您可以尝试检查所有列:
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,]
您可以尝试以下方法之一:
temp[!is.na(rowSums(temp[,8:10])),]
或
temp[!apply(is.na(temp[,8:10]),1,any),]
或
temp[na.omit(temp[,8:10]),]
temp[apply(!is.na(temp[,8:10]),1,any),]
注意放置“!”在 is.na
前面
我的代码运行良好:
CompleteCoxObs<-temp[is.na(temp[,8])== FALSE | is.na(temp[,9])== FALSE | is.na(temp[,10])== FALSE,];
达到相同结果的更好、更有效的方法是什么?
您可以尝试检查所有列:
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,]
您可以尝试以下方法之一:
temp[!is.na(rowSums(temp[,8:10])),]
或
temp[!apply(is.na(temp[,8:10]),1,any),]
或
temp[na.omit(temp[,8:10]),]
temp[apply(!is.na(temp[,8:10]),1,any),]
注意放置“!”在 is.na