gpt4 book ai didi

r - 列中的连续NA

转载 作者:行者123 更新时间:2023-12-04 12:08:41 24 4
gpt4 key购买 nike

我想删除在一列中包含3个以上NA的行。

      [,1] [,2] 
[1,] 1 1
[2,] NA 1
[3,] 2 4
[4,] NA 3
[6,] 1 4
[7,] NA 8
[8,] NA 5
[9,] NA 6

所以我会有这个数据
      [,1] [,2] 
[1,] 1 1
[2,] NA 1
[3,] 2 4
[4,] NA 3
[6,] 1 4

我做了研究,并尝试了这段代码
data[! rowSums(is.na(data)) >3  , ]

但我认为这仅用于连续的 NA

最佳答案

如前所述,rle是一个不错的起点:

is.na.rle <- rle(is.na(data[, 1]))

由于NA仅在它们达到三个或更多时才是“坏”的,因此我们可以重写这些值:
is.na.rle$values <- is.na.rle$values & is.na.rle$lengths >= 3

最后,使用 inverse.rle构建要过滤的索引向量:
data[!inverse.rle(is.na.rle), ]

关于r - 列中的连续NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16842163/

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