我有一組具有相同列標題的數據框,除了一些列名是大寫的,有些是小寫的。我想將所有的列名轉換爲小寫,這樣我就可以創建一個大的數據框。如何爲多個數據框設置列名爲小寫?
我似乎無法讓colnames()
工作在任何循環或應用我寫。 有了:
#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)
我得到以下錯誤:
Error in colnames(get(df)) <- tolower(colnames(get(df))) :
could not find function "get<-"
如何改變我所有的dataframes有小寫列名?
爲什麼我沒有想到自己創建數據框的列表?當然這是更好的解決方案。只要有機會嘗試一下,我會盡快接受答案。 – 2012-04-15 23:46:06
完美地工作,然後將數據框作爲列表,將所有單獨的數據幀合併到一個大的df中,就像'data <-ldply(dfList,rbind.fill)一樣簡單''謝謝,我非常感謝這裏有建設性的和有幫助的社區。 – 2012-04-16 02:18:25
'lapply(dfs,get)'真的有必要嗎?簡單地提供data.frames列表是不夠的? – 2016-08-04 18:12:31