gpt4 book ai didi

R中的递归替换

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

我正在尝试清理一些数据,并想用前一天的值替换零。我希望下面的代码可以工作,但它没有

temp = c(1,2,4,5,0,0,6,7)
temp[which(temp==0)]=temp[which(temp==0)-1]

返回

1 2 4 5 5 0 6 7

代替

1 2 4 5 5 5 6 7

这是我所希望的。有没有循环的好方法?

最佳答案

该操作称为“上次观察结转”,通常用于填补数据空白。这是时间序列的常见操作,因此在包 zoo 中实现:

temp = c(1,2,4,5,0,0,6,7)

temp[temp==0] <- NA

library(zoo)
na.locf(temp)
#[1] 1 2 4 5 5 5 6 7

关于R中的递归替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17591949/

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