gpt4 book ai didi

r - 仅对最后一个值插入 NA

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

在 R 中的数据框中,我知道我可以使用 na.approx() 用最后一个可用值填充所有 NA 值。

但是,如果我只想对最后一个可用值执行此操作,而不是对所有 NA 执行此操作,如本例所示:

a = c(1, 2, 3, 4, NA, NA, NA, 8, 9, 10, NA, NA)

成为:

a = c(1, 2, 3, 4, NA, NA, NA, 8, 9, 10, 10, 10)

我的第一直觉是首先测试最后一个值是否为 NA,然后测试最后一个非 NA 值。有没有更快的方法?

最佳答案

我们可以找到最后一个非NA的索引,然后获取从该点到'a'的length的序列,并将其分配给最后一个非NA

i1 <- tail(which(!is.na(a)), 1)
a[i1:length(a)] <- a[i1]
a
#[1] 1 2 3 4 NA NA NA 8 9 10 10 10

关于r - 仅对最后一个值插入 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59140073/

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