2016-03-07 51 views
0

我有屬於同一列的結構,但不同的行長度的多個數據集。當我去堆疊起來,有一個與rbind作爲一個文件一個偶然的問題,可能有大寫,而另一個可能有小寫的列名。我想在開始時將所有內容都轉換爲小寫(因爲這不區分大小寫)。遍歷多個數據集列名固定名稱不一致

當我做了以下一次性的,轉換工作。但是,我正在嘗試通過一個循環來做這件事。

這工作

names(fmli3) <- tolower(names(fmli3)) 

不提前工作

df_qtr <- c(fmli1, fmli2, fmli3, fmli4, fmli5) 

for (i in 1:length(df_qtr)){ 
    names(df_qtr[[i]]) <- tolower(names(df_qtr[[i]])) 
} 

感謝您的幫助。

編輯: 由於在cross post JWilliman答案(和乳木果您指出),以下工作:

dfs <- c("fmli1", "fmli2", "fmli3", "fmli4", "fmli5") 

for(df in dfs) { 
    df.tmp <- get(df) 
    names(df.tmp) <- tolower(names(df.tmp)) 
    assign(df, df.tmp) 
} 
+0

的可能的複製[重命名在多個dataframes列,R](http://stackoverflow.com/questions/18375969/rename-columns-in-multiple-dataframes-r) – shea

回答

0

與原代碼的問題是,df_qtr不是5 data.frame列表。您可以檢查length(df_qtr)進行驗證。

使用以下語法多data.frame連接成一個list

df_qtr <- list(fmli1, fmli2, ...)