在列表中的数据框中运行函数

时间:2012-08-29 07:01:15

标签: r object

所以我在列表对象中有一堆数据帧。框架组织如

ID     Category    Value
2323   Friend      23.40
3434   Foe         -4.00

我按照this topic将其列入列表。

现在我如何在每个数据框中递归运行一个函数?例如,我如何使用tolower(colnames(x))将数据框中的列名更改为小写?

1 个答案:

答案 0 :(得分:2)

以下是一个示例data.frame和一个listdata.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

如果您想更改data.frame中所有list的名称,请尝试:

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