2017-07-11 4 views
0

Ich habe lange Skripts verwendet, um einen Prozess zu erstellen.Schleifen zum Speichern von Daten in R

xm <- 1 
produccion_tx <- data.frame(produccion_mes_mes[xm]) # Creates the table in a df 
source("4_WMIN.R") # makes the maths 
source("5_WMIN.R") # export an excel file 
source("6_WMIN.R") # saves the data 
mes_t1 <- mylist 

xm <- 2 
produccion_tx <- data.frame(produccion_mes_mes[xm]) # Creates the table in a df 
source("4_WMIN.R") # makes the maths 
source("5_WMIN.R") # export an excel file 
source("6_WMIN.R") # saves the data 
mes_t2 <- mylist 

.... und so weiter.

Ich möchte alle diese Daten in Objekten speichern: mes_t1, mes_t2 und so weiter.

for (xm in 1:37) { 
    produccion_tx <- data.frame(produccion_mes_mes[xm]) # Creates the table in a df 
source("4_WMIN.R")# makes the maths 
source("5_WMIN.R")#export an excel file 
source("6_WMIN.R")# saves the data 
    mes_t%s <- mylist #the results are in mylist 
} 

Wie kann ich die Tabelle in jeder Schleife mit einem Namen speichern wie mes_t1, mes_t2, mes_t3 ... etc?

+0

Sie 'assign' verwenden können. – Masoud

Antwort

1

Versuchen assign

for (xm in 1:37) { 
    i = 1 
    # do some stuff 
    assign(paste0('mes_t', i), mylist) 
    i = i + 1 
} 
+1

Ich würde 'assign' nicht verwenden, ich würde die Ergebnisse in einer Liste (von Listen) speichern. Etwas wie 'result <- list()/für (...)/result [[paste0 ('mes_t', i)]] <- meine_liste. –

+0

Ich benutze niemals 'assign' selbst und würde in diesem Szenario eine benannte Liste verwenden. OP hat jedoch nach * Objekten * mit den angegebenen Namen gefragt. – juan

+0

Ja, ich hatte das bemerkt, aber ich sehe keinen Grund, warum er das tun sollte, also versuchte ich einen vernünftigeren Vorschlag zu machen. Viele unerfahrene R-Benutzer machen diesen Fehler und die übliche Art, sie zu lösen, besteht darin, eine Liste zu verwenden. –

Verwandte Themen