gpt4 book ai didi

R:选择包含给定数量 NA 的行

转载 作者:行者123 更新时间:2023-12-02 18:33:15 25 4
gpt4 key购买 nike

我有一个带有 NA 的六列数据框。我希望只选择那些最多包含三个 NA 的行。 我可以使用 sum(is.na(my.df[,c(1:6)])), 找到 NA 的数量但无法使用“子集”或任何其他函数和条件 sum(is.na(log.df[,c(1:6)])) <=3 选择数据框的子集最终我希望计算所选行的中位数。示例数据如下所示:

C1  C2  C3  C4  C5  C6
6.4 NA 6.1 6.2 NA NA
7.1 6.4 6.5 5.9 7 6.9
7.1 7 6.9 6.9 6.9 7
6.9 NA 6.9 NA 7.1 NA
6.8 NA 7.1 7.1 6.8 7.2
NA NA NA NA NA 6.4
NA NA NA NA NA 6.7

提前致谢

最佳答案

使用rowSums:

> mydf[rowSums(is.na(mydf)) <= 3, ]
C1 C2 C3 C4 C5 C6
1 6.4 NA 6.1 6.2 NA NA
2 7.1 6.4 6.5 5.9 7.0 6.9
3 7.1 7.0 6.9 6.9 6.9 7.0
4 6.9 NA 6.9 NA 7.1 NA
5 6.8 NA 7.1 7.1 6.8 7.2
<小时/>

一步一步:

  • 每行有多少个 NA

    > rowSums(is.na(mydf))
    [1] 3 0 0 3 1 5 5
  • 其中有多少个小于或等于 3?

    > rowSums(is.na(mydf)) <= 3
    [1] TRUE TRUE TRUE TRUE TRUE FALSE FALSE

而且,R 可以使用它来子集化。它将保留 TRUE 行(1、2、3、4、5)并丢弃 FALSE 行(6、7)。

关于R:选择包含给定数量 NA 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18598187/

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