2012-08-29 24 views
1

所以我有一堆列表對象中的數據幀。框架被組織如在列表中的數據框中運行函數

ID  Category Value 
2323 Friend  23.40 
3434 Foe   -4.00 

而且我讓他們到一個列表按照this topic

現在我如何在每個數據框中遞歸地運行一個函數?例如,如何使用tolower(colnames(x))將數據框中的列名更改爲小寫?

+1

你的意思是說你有一個'data.frame'的'list',並且你想對'list'中的所有'data.frame'應用相同的動作? – A5C1D2H2I1M1N2O1R2T1

+0

是@mrdwab。抱歉,我正在編輯帖子以糾正錯誤。 – dmvianna

回答

2

下面是一個樣本data.framelist,該data.frame重複兩次。

test <- read.table(header=TRUE, text="ID  Category Value 
2323 Friend  23.40 
3434 Foe   -4.00") 
temp <- list(A = test, B = test) 

如果你只是想改變原有的data.frame的名稱,請嘗試:

names(test) <- tolower(names(test)) 
test 
#  id category value 
# 1 2323 Friend 23.4 
# 2 3434  Foe -4.0 

如果你想改變在list所有data.frame S的名字,請嘗試:

lapply(temp, function(x) { names(x) = tolower(names(x)); x }) 
# $A 
#  id category value 
# 1 2323 Friend 23.4 
# 2 3434  Foe -4.0 
# 
# $B 
#  id category value 
# 1 2323 Friend 23.4 
# 2 3434  Foe -4.0