私は、列名の一部が大文字で、一部が小文字であることを除いて、同じ列見出しを持つデータフレームのセットを持っています。すべての列名を小文字に変換して、すべてのものの1つの大きなデータフレームを作成したいと思います。複数のデータフレームで列名を小文字に設定するにはどうすればよいですか?
私は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<-"
私は小文字の列名を持っているすべての私のデータフレームを変更するにはどうすればよいですか?
なぜデータフレーム自体のリストを作成できなかったのですか?もちろん、それはより良い解決策です。私はそれを試してみる機会があるとすぐに答えを受け入れるでしょう。 –
それは完璧に動作し、リストとしてデータフレームを持っているので、すべての別々のデータフレームを1つの大きなdfにすることは 'data <-ldply(dfList、rbind.fill)'と同じくらい簡単でした。ありがとうと私はとても感謝しています建設的で有用なコミュニティがここにあります。 –
'lapply(dfs、get)は本当に必要ですか? data.framesのリストを提供するだけでは十分ではないでしょうか? –