延伸一定长度

问题描述 投票:2回答:2

我有一个640 x 2500数据框,其中包含数值和多个NA值。我的目标是为每一行至少找到75个连续的NA值。对于每个这样的运行,我也想用NA值替换前50个单元格中的<>。以下是按比例缩小的一行示例:

x <- c(1, 3, 4, 5, 4, 3, NA, NA, NA, NA, 6, 9, 3, 2, 4, 3) # run of four NA: ^ ^ ^ ^

我想检测连续四个NA的运行,然后用NA替换运行前的三个值和运行后的三个值:

c(1, 3, 4, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 2, 4, 3) # ^ ^ ^ ^ ^ ^

我试图首先用NA标识连续的rle,但是运行rle(is.na(df))会出现错误'x' must be a vector of an atomic type。即使我选择一行,也会发生这种情况。

不幸的是,我不知道下一步是将之前和之后的50个单元格转换为NA。

非常感谢您提供的任何帮助,在此先感谢。

我有一个640 x 2500数据框,其中包含数值和几个NA值。我的目标是为每一行至少找到75个连续的NA值。对于每次这样的运行,我都希望替换之前的和...

r na run-length-encoding
2个回答
1
投票
这是我的解决方案。我想知道是否有比我更整洁的解决方案。

1
投票
强制类型对我有用:
© www.soinside.com 2019 - 2024. All rights reserved.