我正在动态创建一些变量,然后尝试将它们存储在数据框中row wise。但是,我只得到数据框中的最后一个值。以前的值被新值替换。
threshold <- 0.5
path_length <- 2
for (i in 1:3) {
assign(paste('x', i, sep='_'), 1)
assign(paste('y', i, sep='_'), get(eval(paste0("x_", i, sep=""))) + (threshold * 0.2) - (path_length - 1.3))
assign(paste('z', i, sep='_'), get(eval(paste0("y_", i, sep=""))) * i + 2)
df_1 <- data.frame(i=i,
x=get(eval(paste0("x_", i, sep=""))),
y=get(eval(paste0("y_", i, sep=""))),
z=get(eval(paste0("z_", i, sep=""))))
}
我得到这个输出
i x y z
1 3 1 0.4 3.2
我的预期输出
i x y z
1 1 1 0.4 2.4
1 2 1 0.4 2.8
1 3 1 0.4 3.2
谢谢你。