Ich habe eine for-Schleife:
for (i in 1:10){ Ai=d+rnorm(3)}
Was ich gerne machen würde, ist A1, A2,A3...A10
und ich habe die Variable i
im Variablennamen.
Es funktioniert nicht auf diese Weise, aber wahrscheinlich übersehe ich eine Kleinigkeit. Wie kann ich das "i" in der for-Schleife verwenden, um verschiedene Variablennamen zuzuweisen?
d <- 5
for(i in 1:10) {
nam <- paste("A", i, sep = "")
assign(nam, rnorm(3)+d)
}
Sie könnten assign
verwenden, aber die Verwendung von assign
(oder get
) ist oft ein Symptom für eine Programmierstruktur, die nicht sehr R-ähnlich ist. Normalerweise ermöglichen Listen oder Matrizen sauberere Lösungen.
mit einer Liste:
A <- lapply (1 : 10, function (x) d + rnorm (3))
mit einer Matrix:
A <- matrix (rep (d, each = 10) + rnorm (30), nrow = 10)