我有一个for循环:
for (i in 1:10){ Ai=d+rnorm(3)}
我想要做的是A1, A2,A3...A10
我在变量名中有变量i
。
这种方法不起作用,但我可能错过了一些小事。如何在for循环中使用i
来指定不同的变量名?
答案 0 :(得分:71)
答案 1 :(得分:9)
您可以使用assign
,但使用assign
(或get
)通常是编程结构的一个症状,它不是非常类似。通常,列表或矩阵允许更清晰的解决方案。
列表:
A <- lapply (1 : 10, function (x) d + rnorm (3))
带矩阵:
A <- matrix (rep (d, each = 10) + rnorm (30), nrow = 10)
答案 2 :(得分:3)
另一个选择是使用eval和parse,如
d = 5
for (i in 1:10){
eval(parse(text = paste('a', 1:10, ' = d + rnorm(3)', sep='')[i]))
}