【发布时间】:2021-04-25 22:41:07
【问题描述】:
我可以用这样的 for 循环计算递归变量:
df <- as.data.frame(cbind(1:10))
df$it <- NA
for(i in 1:length(df$V1)) {
df$it <- 0.5*df$V1 + dplyr::lag(df$it, default = 0)
}
df
但是我怎样才能使用动态函数来做到这一点呢? 以下产生错误“C stack usage 15924032 is too close to the limit”:
adstwm <- function(x){
0.5*x + adstwm(dplyr::lag(x, default = 0))
}
adstwm(df$V1)
我想我需要为该过程定义一个停止,但是如何?
【问题讨论】:
标签: r function for-loop recursion lag