Ich habe eine Reihe von Datenrahmen. Jeder mit dem gleichen Format. So:Spalte im Datenrahmen umbenennen mit Variablenname R
A B C
1 -0.02299388 0.71404158 0.8492423
2 -1.43027866 -1.96420767 -1.2886368
3 -1.01827712 -0.94141194 -2.0234436
Ich mag würde den Namen der dritten Spalte ändern - C -, so dass es teilweise, wenn der Name der Variablennamen mit dem Datenrahmen zugeordnet enthält.
Für die Variable df_elephant
der Datenrahmen sollte wie folgt aussehen:
Ich habe eine Funktion, die die Spaltennamen ändern wird:
rename_columns <- function(x) {
colnames(x)[colnames(x)=='C'] <-
paste('C',
strsplit (deparse (substitute(x)), '_')[[1]][2], sep='.')
return(x)
}
Dies funktioniert mit meinem Datenrahmen. Ich möchte jedoch eine Liste von Datenrahmen bereitstellen, so dass ich die Funktion nicht mehrmals manuell aufrufen muss. Wenn ich lapply
verwenden wie so:
lapply(list (df_elephant, df_horse), rename_columns)
Die Funktion benennt den Datenrahmen mit einer NA
anstatten Teil des Variablennamen.
[[1]]
A B C.NA
1 -0.02299388 0.71404158 0.8492423
2 -1.43027866 -1.96420767 -1.2886368
3 -1.01827712 -0.94141194 -2.02344361
[[2]]
A B C.NA
1 0.45387054 0.02279488 1.6746280
2 -1.47271378 0.68660595 -0.2505752
3 1.26475917 -1.51739927 -1.3050531
Gibt es eine Möglichkeit, eine Liste von Datenrahmen an meine Funktion zu liefern und das gewünschte Ergebnis zu erzeugen?