我在网上试过,但我找不到合适的解决方案。任何帮助将非常感激!
示例:
# I want this OUTPUT df
Previous <- c(2, 4, 8, 16)
Today <- c(4, 8, 16, 32)
df <- data.frame(Previous, Today)
INPUT条件:
Today
是Previous
:
Today_function <- Previous_start * 2
对于Previous
我只有起始值:
Previous_start <- 2
Today_function
的输出会输入Previous
的下一行,并且是Today_function
的新输入。
答案 0 :(得分:1)
您可以滥用Reduce
迭代地将函数应用于自己的输出:
n <- 4 # Desired number of rows in the data.frame
val0 <- 2 # Starting value
f <- function( valPrev, dummy ) { valPrev * 2 } # Make function "binary"
v <- Reduce( f, rep(NA,n), val0, accumulate=TRUE )
X <- data.frame( Previous=head(v,-1), Today=tail(v,-1) )
旁注:我知道这很常见,但我建议不要使用df
作为变量名称,因为它是F发行版密度函数的内置名称。 / p>