Ich habe eine Funktion, die eine for-Schleife enthält, die 160 Mal iteriert und nach jeder Iteration ein 3-dimensionales Array erzeugt. Ich möchte, dass die For-Schleife jedes Array separat als Objekt unter dem Namen speichert, beispielsweise array001
, array002
, array003
usw., vorzugsweise ohne diese in den globalen Arbeitsbereich auszuspucken. Schließlich möchte ich einige dieser Arrays später innerhalb derselben Funktion aufrufen können.Erstellen eines separaten Objekts für jede Iteration von for-Schleife innerhalb einer Funktion
array.function <- function(df, parameter = 0) {
for (i in 1:160) {
DO A LOT OF STUFF
SAVE OUTPUT AS array###
}
DO MORE STUFF with arrays generated by for-loop above
}
Haben Sie Ideen, wie Sie die Arrays als Objekte mit entsprechenden Zahlen in ihren Namen speichern können? Vielen Dank!
Setzen Sie jedes Array in ein separates Element einer Liste. Dann gib die Liste zurück. Etwas wie 'myList [[i]] <- array.function (df, i)' oder was auch immer. Du könntest Namen hinzufügen mit 'einfügen'' myList [[paste0 ("array", i)]] <- ... '. – lmo
Danke. In diesem Fall müsste ich die Arrays jedoch an die interne Liste der Funktion anhängen und dann die Listenelemente weiter unten in der Funktion indizieren, nachdem die letzte Schleife die Liste gefüllt hat. Ich nehme an, das ist es, was du meintest. –