R - 对于数据框中的每一行,如何检查是否至少有一列不是 NA? [英] R - For each row in a data frame, how to check if at least one column is not NA?

查看:58
本文介绍了R - 对于数据框中的每一行,如何检查是否至少有一列不是 NA?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个这样的数据框

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 行).你能给我一些建议吗?

I want to get rows with at least non-NA value, or put another way, rows with all NAs (row 5 in this case) should be removed. Can you give me some advice?

推荐答案

如果您的数据框名为 dta:

if your data frame is named dta:

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

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

This works by checking if each item is.na, taking the opposite !, taking the rowSums, finding those that are > 0 and then using [ to subset them.

这篇关于R - 对于数据框中的每一行,如何检查是否至少有一列不是 NA?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆