Подтвердить что ты не робот

Изменение имени переменной в цикле for с использованием R

У меня есть цикл for:

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

Что бы я хотел сделать, это иметь A1, A2,A3...A10, и у меня есть переменная i в имени переменной.

Это не работает таким образом, но, вероятно, мне не хватает какой-то мелочи. Как я могу использовать i в цикле for для назначения имен разных переменных?

4b9b3361

Ответ 1

d <- 5
for(i in 1:10) { 
 nam <- paste("A", i, sep = "")
 assign(nam, rnorm(3)+d)
}

Подробнее здесь или даже здесь!

Ответ 2

Вы можете использовать assign, но использование assign (или get) часто является симптомом структуры программирования, которая не очень похожа на R. Как правило, списки или матрицы допускают более чистые решения.

  • со списком:

    A <- lapply (1 : 10, function (x) d + rnorm (3))
    
  • с матрицей:

    A <- matrix (rep (d, each = 10) + rnorm (30), nrow = 10)