我做了一个用户定义的功能...
从向量x,y,f(x,y)返回(x,y,z)的列表...
现在我要进行迭代
data1 <- f(x,y)
data2 <- f(data1$x, data1$y)
data3 <- f(data2$x, data2$y)
data4 <- f(data3$x, data3$y)
依此类推...
是否有办法为此做循环?
我尝试使用粘贴功能
data1 <- f(x,y)
for (i = 2:10) {
assign(paste("data",i,sep=""), f(paste("data",i-1,"$x",sep=""), paste("data",i-1,"$y",sep=""))
}
但是由于输入变成了“ data1 $ x”,它不是字符串,所以会出错。
[我为你做了一个例子:
x <- 1:10; y <- 11:20
f <- function(x, y) {return(list(x = x+1, y = y+1))}
data <- c()
data[[1]] <- f(x, y)
for(i in 2:10){
data[[i]] <- f(data[[i-1]]$x, data[[i-1]]$y)
}
然后您可以使用data[[i]]$x
从时间i获得x。