Ho un set di dataframe con le stesse intestazioni di colonna, tranne per il fatto che alcuni nomi di colonne sono in maiuscolo e altri in minuscolo. Voglio convertire tutti i nomi delle colonne in minuscolo in modo da poter creare un grande dataframe di tutto.Come si impostano i nomi delle colonne in lettere minuscole per più dataframes?
Non riesco a ottenere colnames()
per funzionare in qualsiasi ciclo o applicare che scrivo. Con:
#create dfs
df1<-data.frame("A" = 1:10, "B" = 2:11)
df2<-data.frame("a" = 3:12, "b" = 4:13)
df3<-data.frame("a" = 5:14, "b" = 6:15)
#I have many more dfs in my actual data
#make list of dfs, define lowercasing function, apply across df list
dfs<-ls(pattern = "df")
lowercols<-function(df){colnames(get(df))<-tolower(colnames(get(df)))}
lapply(dfs, lowercols)
ottengo il seguente errore:
Error in colnames(get(df)) <- tolower(colnames(get(df))) :
could not find function "get<-"
Come faccio a cambiare tutti i miei dataframes di avere i nomi di colonna in minuscolo?
Perché non mi è venuto in mente di creare un elenco dei frame di dati stessi? Certo che è una soluzione migliore. Accetterò la risposta non appena avrò la possibilità di provarlo. –
Che funziona perfettamente, e quindi avere i frame di dati come una lista, ottenere tutti i frame di dati separati in un unico grande df era semplice come 'data <-ldply (dfList, rbind.fill)' Grazie e sono così riconoscente di la comunità costruttiva e utile qui. –
È 'lapply (dfs, get)' veramente necessario? Fornire semplicemente la lista di data.frames non sarebbe sufficiente? –