Ich versuche lapply auf einer Liste von Datenrahmen zu verwenden; aber ich versäume es, die Parameter richtig zu übergeben (denke ich).Verwenden von Lapply zum Ändern der Spaltennamen einer Liste von Datenrahmen
Liste der Datenrahmen:
df1 <- data.frame(A = 1:10, B= 11:20)
df2 <- data.frame(A = 21:30, B = 31:40)
listDF <- list(df1, df2,df3) #multiple data frames w. way less columns than the length of vector todos
Vektor mit Spaltennamen:
todos <-c('col1','col2', ......'colN')
Ich mag würde die Spaltennamen ändern lapply mit:
lapply (listDF, function(x) { colnames(x)[2:length(x)] <-todos[1:length(x)-1] } )
aber dieses doesn ändere die Namen überhaupt nicht. Übergebe ich die Datenframes nicht selbst, sondern etwas anderes? Ich möchte nur Namen ändern und das Ergebnis nicht an ein neues Objekt zurückgeben.
Vielen Dank im Voraus, p.
würde wegen * R Berufung nicht arbeiten, indem sie Wert * – jogo
Fügen Sie einfach ein 'X' bis zum Ende 'lapply (listDF, Funktion (x) {COLNAMES (x) [2: Länge (x)] < -todos [1: Länge (x) -1]; x}) '. Ihre geschriebene Funktion hat keinen Rückgabewert. –
Nicht verwandt mit der Frage, aber ich denke, dass '1: length (x) -1' ist ein häufiger Fehler (manchmal nicht schädlich). Die rechte Zeile ist '1: (length (x) -1)' (Vorsicht!) – nicola