2017-05-01 15 views
0

Ich möchte zahlreiche data.frames erstellen, also wollte ich es ein wenig automatisieren.Variablenname eines Datenrahmens in R

## Some Loop 
i = i + 1 
(paste('df',i,sep = '')) = data.frame(matrix(NA, nrow = 5, ncol = 1)) 
## Do some Task 

Wenn I i zu 1 initialisiert und dann für N durch die Schleife passiert wird I df1, DF2 ... DFN erstellen.

Aber das funktioniert nicht.

Haben Sie irgendwelche Ideen, wie ich meinen Code/einen anderen Ansatz beheben kann, den ich mir ansehen könnte?

Danke,

Ben

+0

Sie sollten die Datenrahmen in einer Datenstruktur gespeichert werden wie eine Liste, was Sie außerhalb Ihrer Schleife – yeedle

+0

initialisieren sollte Oder Sie verwenden 'assign', um data.frame einem Namen zuzuweisen, der durch eine Zeichenkette definiert ist (wie Sie es gerade versuchen) - aber yeedles Listenansatz ist normalerweise sinnvoller. –

+0

Vielen Dank für Ihre Hilfe Leute! –

Antwort

0

Versuchen:

for(i in 1:10) { 
    d = data.frame(matrix(NA, nrow = 5, ncol = 1)) 
    assign(paste("df", i, sep = ""), d) 
} 
+0

Großartig, vielen Dank! –

Verwandte Themen