从数据框中选择具有最少NA值的行。

3
所以我有一段文本,已经分成了向量,在每个向量的每一行中,我进一步将其分成了数据框。在完美的世界中,DF的每一行都应该完全相同,但实际上不是这样的,有许多行中有NA值。我需要做的是选择具有最少NA值的数据框行。
所以说,DF看起来像这样:
名称 年份 NA 地址 NA 州 NA 名称 年份 ID 地址 城市 州 等级 名称 年份 NA NA 城市 州 NA 名称 NA NA NA NA NA 等级 名称 年份 NA NA NA NA NA
它们各自属于列。因此,我需要一种方法来确定哪一行具有最少的NA,并选择该行的元素。因此,最终我希望返回只有单行DF(或向量最好),读取
名称 年份 ID 地址 城市 州 等级
在这种情况下,是第2行。
我知道:
max(rowSums(!is.na(x)))
将返回具有最多非na值的行号,但我似乎无法弄清楚如何抓取该行的元素。我想使用which()会起作用,但我似乎无法弄清楚它的用法。
感谢您的帮助!
大卫
1个回答

7
如果你的数据框是 df,那么:
df[which.max(rowSums(!is.na(df))),]

应返回具有最少NA的单行数据框。

你说得完全正确!我尝试过非常类似的方法,但看起来我的语法可能有误。非常感谢!另外,由于我的声望太低,无法点赞,但请知道如果可以的话我一定会点赞的! - Djones4822
很高兴能够帮助。即使你无法投票,你仍然可以将它选择为适合你的“正确”答案。 - Noam Ross

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接