使用R在for循环中更改变量名称

我有一个for循环:

for (i in 1:10){ Ai=d+rnorm(3)}

我要执行的操作是i,变量名称中有变量i

这样行不通,但是我可能缺少一些小东西。 如何在for循环中使用i分配不同的变量名称?

z0nam asked 2020-02-14T11:05:23Z
2个解决方案
76 votes
d <- 5
for(i in 1:10) { 
 nam <- paste("A", i, sep = "")
 assign(nam, rnorm(3)+d)
}

更多信息在这里甚至在这里!

DKK answered 2020-02-14T11:05:37Z
9 votes

您可以使用A <- matrix (rep (d, each = 10) + rnorm (30), nrow = 10) ,但使用assign(或get)通常是不太像R的编程结构的症状。 通常,列表或矩阵允许使用更干净的解决方案。

  • 带有列表:

    A <- matrix (rep (d, each = 10) + rnorm (30), nrow = 10)
    
  • 与矩阵:

    A <- matrix (rep (d, each = 10) + rnorm (30), nrow = 10)
    
cbeleites answered 2020-02-14T11:06:15Z
translate from https://stackoverflow.com:/questions/16566799/change-variable-name-in-for-loop-using-r