gpt4 book ai didi

r - 是否有 R 语法来删除列中具有特定多个 NA 的行?

转载 作者:行者123 更新时间:2023-12-02 15:59:26 24 4
gpt4 key购买 nike

你好编码社区,

如果我的数据框看起来像:

ID     Col1 Col2 Col3 Col4
Per1 1 2 3 4
Per2 2 NA NA NA
Per3 NA NA 5 NA

是否有任何语法可以根据 Col2、Col3 和 Col4 = NA 删除与 ID = Per2 关联的行?我希望代码允许我在三个特定列(Col2、Col3 和 Col4)全部为 NA 的基础上删除一行。此代码不会删除行 ID = Per3,即使存在三个 NA。

请注意,我知道如何删除特定行,但我的数据框很大,所以我不想手动对所有行/列进行排序。

非常感谢!

最佳答案

测试 NA 并删除 NA 数等于使用 rowSums 测试的列数的行。

dat[!rowSums(is.na(dat[c('Col2', 'Col3', 'Col4')])) == 3, ]
# ID Col1 Col2 Col3 Col4
# 1 Per1 1 2 3 4
# 3 Per3 NA NA 5 NA

关于r - 是否有 R 语法来删除列中具有特定多个 NA 的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71018417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com