R - 对于数据框中的每一行,如何检查是不是至少有一列不是 NA? [复制]

Posted

技术标签:

【中文标题】R - 对于数据框中的每一行,如何检查是不是至少有一列不是 NA? [复制]【英文标题】:R - For each row in a data frame, how to check if at least one column is not NA? [duplicate]R - 对于数据框中的每一行,如何检查是否至少有一列不是 NA? [复制] 【发布时间】:2015-11-04 11:12:41 【问题描述】:

我有一个这样的数据框

col_1 col_2 col_3 col_4
12344 53445 34335 AAA
12545 56565 12123 AAB
NA    54556 32323 ABB
NA    NA    NA    NA
43434 65654 NA    ABA

我想获得至少具有非 NA 值的行,或者换句话说,应该删除具有所有 NA 的行(在本例中为第 5 行)。你能给我一些建议吗?

【问题讨论】:

【参考方案1】:

如果你的数据框被命名为 dta:

dta[rowSums(!is.na(dta)) > 0, ]

这通过检查每个项目是否is.na,取相反的!,取rowSums,找到那些> 0,然后使用[对它们进行子集化。

【讨论】:

它仍然有效 - rowSums 用于布尔值 TRUE/FALSE 作为 1/0,而不是实际值

以上是关于R - 对于数据框中的每一行,如何检查是不是至少有一列不是 NA? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

检查数据框中的记录数是不是大于零而不使用计数火花

如何在数据框中的每一行的末尾添加 ****?

如何通过遍历行来预测数据框中的每一行?

将reduce应用于R数据框中一列的每一行,包含一个列表

如何检查新的输入行是不是与前一行(数组)冗余

如何在 Scala/Spark 中为数据框中的每一行编写一个 Json 文件并重命名文件