压缩代码:检查R中数据框中的多列是否跟随布尔值

压缩代码:检查R中数据框中的多列是否跟随布尔值,r,boolean,dataframe,R,Boolean,Dataframe,我有一个数据帧(df),它有一些NA值。我想在多个列中提取有NA值的行(在下面的示例中,我是针对第12-20列这样做的): 是否有一种更具可读性(且更简洁)的方法来实现这一点,而无需将每个列条件用&符号包围 谢谢您的帮助……试试这个: cols <- 12:20 NArows <- which(apply(df[cols],1,function(y)sum(!is.na(y))==0)) cols您应该提供一个示例数据集,这样我们就不必自己创建它了。我知道,对不起。我通常这样做(至

我有一个数据帧(df),它有一些NA值。我想在多个列中提取有NA值的行(在下面的示例中,我是针对第12-20列这样做的):

是否有一种更具可读性(且更简洁)的方法来实现这一点,而无需将每个列条件用&符号包围

谢谢您的帮助……

试试这个:

cols <- 12:20
NArows <- which(apply(df[cols],1,function(y)sum(!is.na(y))==0))

cols您应该提供一个示例数据集,这样我们就不必自己创建它了。我知道,对不起。我通常这样做(至少使用一个内置的数据帧,如mtcars)。我将试图找到一个与NAs在它在未来使用的例子,如这样。谢谢。您可以使用
mtcars
并在某些行中插入
NA
,然后显示所需的输出。如果您不提供可复制的示例,就会出现这种情况。每个人都只是猜测和打架。最终,好的答案会被删除。
cols <- 12:20
NArows <- which(apply(df[cols],1,function(y)sum(!is.na(y))==0))
NArows <- which(rowSums(is.na(df[12:20])) > 1L)
cols <- 12:20
NArows <- which(rowSums(is.na(df[cols])) == ncol(df[cols]))