gpt4 book ai didi

r - 仅当存在不止一个百分比的列时,才如何删除具有NA的行?

转载 作者:行者123 更新时间:2023-12-04 03:19:40 27 4
gpt4 key购买 nike

我想为以下示例数据集使用na.omit(数据),但有条件的是,仅当它们出现在“说超过30%”的列中时,才删除带有NA的行。

数据:

        C1     C2     C3     C4     C5
Gene1 0.07 NA 0.05 0.07 0.07
Gene2 0.2 0.18 0.16 0.15 0.15
Gene3 NA 0.93 0.9 NA 0.92
Gene4 0.32 0.05 0.12 0.13 0.05
Gene5 0.44 0.53 0.46 0.03 0.47
Gene6 NA 0.34 NA 0.8 NA
Gene7 0.49 0.55 0.67 0.49 0.89
Gene8 0.25 NA 0.49 NA NA
Gene9 0.1 0.1 0.05 NA 0.09

因此,生成的文件应如下所示:
        C1     C2     C3     C4     C5
Gene1 0.07 NA 0.05 0.07 0.07
Gene2 0.2 0.18 0.16 0.15 0.15
Gene4 0.32 0.05 0.12 0.13 0.05
Gene5 0.44 0.53 0.46 0.03 0.47
Gene7 0.49 0.55 0.67 0.49 0.89
Gene9 0.1 0.1 0.05 NA 0.09

谢谢您的帮助!

最佳答案

您可以根据NA值的行总和来设置子集:

test[!rowSums(is.na(test)) > ncol(test)*.3,]

C1 C2 C3 C4 C5
Gene1 0.07 NA 0.05 0.07 0.07
Gene2 0.20 0.18 0.16 0.15 0.15
Gene4 0.32 0.05 0.12 0.13 0.05
Gene5 0.44 0.53 0.46 0.03 0.47
Gene7 0.49 0.55 0.67 0.49 0.89
Gene9 0.10 0.10 0.05 NA 0.09

关于r - 仅当存在不止一个百分比的列时,才如何删除具有NA的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37879467/

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