Ответ 1
d <- 5
for(i in 1:10) {
nam <- paste("A", i, sep = "")
assign(nam, rnorm(3)+d)
}
У меня есть цикл for:
for (i in 1:10){ Ai=d+rnorm(3)}
Что бы я хотел сделать, это иметь A1, A2,A3...A10
, и у меня есть переменная i
в имени переменной.
Это не работает таким образом, но, вероятно, мне не хватает какой-то мелочи. Как я могу использовать i
в цикле for для назначения имен разных переменных?
d <- 5
for(i in 1:10) {
nam <- paste("A", i, sep = "")
assign(nam, rnorm(3)+d)
}
Вы можете использовать assign
, но использование assign
(или get
) часто является симптомом структуры программирования, которая не очень похожа на R. Как правило, списки или матрицы допускают более чистые решения.
со списком:
A <- lapply (1 : 10, function (x) d + rnorm (3))
с матрицей:
A <- matrix (rep (d, each = 10) + rnorm (30), nrow = 10)