gpt4 book ai didi

r - 如何删除一列中超过 2 个连续的 NA?

转载 作者:行者123 更新时间:2023-12-04 23:15:51 26 4
gpt4 key购买 nike

我是 R 的新手,在我的数据框中,我有 col1("Timestamp"), col2("Values")。我必须在 col2 中删除超过 2 个连续 NA 的行。我的数据框看起来像下面的一个,

Timestamp  | values  
-----------|--------
2011-01-02 | 2
2011-01-03 | 3
2011-01-04 | NA
2011-01-05 | 1
2011-01-06 | NA
2011-01-07 | NA
2011-01-08 | 8
2011-01-09 | 6
2011-01-10 | NA
2011-01-11 | NA
2011-01-12 | NA
2011-01-13 | 2

我想根据第二列删除 2 个以上的重复行。预期输出 -
Timestamp  | values  
-----------|--------
2011-01-02 | 2
2011-01-03 | 3
2011-01-04 | NA
2011-01-05 | 1
2011-01-06 | NA
2011-01-07 | NA
2011-01-08 | 8
2011-01-09 | 6
2011-01-13 | 2

我正在寻找解决方案,谢谢。

最佳答案

您可以使用运行长度编码功能rle .我假设数据已经按日期排序。

r <- rle(is.na(df$values))                      # check runs of NA in value column
df[!rep(r$values & r$lengths > 2, r$lengths),] # remove runs of >2 length

关于r - 如何删除一列中超过 2 个连续的 NA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42668059/

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