Ich habe eine Reihe von Datenrahmen, df1
df2
, wobei jeder Datenrahmen dieser Struktur folgen:Looping durch Liste von Datenrahmen in R
x <- c(1:5)
y <- c(1:5)
df1 <- data.frame("Row One"=x, "Row Two"=y)
Beispielausgabe für df1:
Row.One Row.Two
1 1
2 2
3 3
4 4
5 5
I setze jeden Datenrahmen in eine Liste dfList <- list(df1,df2...)
Jetzt möchte ich jedes Datenrahmenobjekt in dieser Liste wiederholen, um die Spaltennamen usin zu ersetzen g dieser Befehl:
a <- grep("One", colnames(df))
b <- grep("Two", colnames(df))
names(df)[a] <- "R1"
names(df)[b] <- "R2"
Wie kann ich eine Schleife in R-Struktur, so dass ich, egal wie viele Datenrahmen in der Liste sind, wird die Spaltennamen-Objekt Befehle über Wechsel in jeden Datenrahmen angewandt werden?
Das funktioniert gut, aber wenn ich 'dflist [[1]]' 'rufe, wird immer noch" Row One "anstelle von" R1 "angezeigt. Warum erscheint die Änderung nur auf der Konsole, wenn ich den 'lapply'-Befehl ausführe, aber den Datenrahmen selbst nicht aktualisiere? Mache ich etwas falsch? – AME
Wenn Sie das Ergebnis einem benannten Objekt nicht zuordnen, verschwindet es. Wenn Sie dfList ersetzen möchten, müssen Sie 'dfList <-' verwenden. –