2015-02-09 85 views
0

說我有一個列表dflist,其中包含數據幀df1df2如何將單個參數函數應用於列表中的所有數據框內的所有列

df1 <- data.frame(VAR1 = letters[1:10], VAR2 = seq(1:10)) 
df2 <- data.frame(VAR3 = letters[11:20], VAR4 = seq(11:20)) 

dflist <- list(df1 = df1, df2 = df2) 

一般情況下,我想在列表一個參數函數應用至各個數據幀的變量。爲了讓這個問題更具體一些,比如說我有興趣將變量名設置爲小寫。使用數據框範,我只是這樣做:

colnames(df1) <- tolower(colnames(df1)) 
colnames(df2) <- tolower(colnames(df2)) 

然而,這會讓人望而卻步,當我在每一個20個或30 dataframes的幾十個變量我的工作,因此,轉向使用列表。

我知道這個問題源於我對*apply函數族的根本誤解,但是我一直無法找到應用於比列表的第一個子級更深的函數的示例。感謝您的任何意見。

+3

嘗試'lapply(dflist,函數(X){colnames(X)< - tolower的(colnames(X)); X})' – akrun 2015-02-09 19:23:24

回答

1

作爲@akrun建議的,簡單的答案是:

lapply(dflist, function(x) {colnames(x) <- tolower(colnames(x)); x }) 
相關問題