1

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

ID     Category    Value
2323   Friend      23.40
3434   Foe         -4.00

我按照这个主题将它们列入了一个列表。

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

4

1 回答 1

2

这是一个样本data.frame和一个list重复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

如果您想更改 s 中所有data.frames的名称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
于 2012-08-29T07:12:39.633 回答