我有一个 for 循环:
for (i in 1:10){ Ai=d+rnorm(3)}
我想做的是拥有A1, A2,A3...A10
并且我i
在变量名中有变量。
它不能以这种方式工作,但我可能会遗漏一些小东西。如何i
在 for 循环中使用 来分配不同的变量名?
我有一个 for 循环:
for (i in 1:10){ Ai=d+rnorm(3)}
我想做的是拥有A1, A2,A3...A10
并且我i
在变量名中有变量。
它不能以这种方式工作,但我可能会遗漏一些小东西。如何i
在 for 循环中使用 来分配不同的变量名?
您可以使用assign
,但使用assign
(or get
) 通常是一种不太像 R 的编程结构的症状。通常,列表或矩阵允许更清洁的解决方案。
有一个清单:
A <- lapply (1 : 10, function (x) d + rnorm (3))
有一个矩阵:
A <- matrix (rep (d, each = 10) + rnorm (30), nrow = 10)
另一种选择是使用 eval 和 parse,如
d = 5
for (i in 1:10){
eval(parse(text = paste('a', 1:10, ' = d + rnorm(3)', sep='')[i]))
}