list - 使用列表 : Rename variables 中的数据帧

标签 list r data-manipulation data-management

定义:

dats <- list( df1 = data.frame(A=sample(1:3), B = sample(11:13)),
        df2 = data.frame(AA=sample(1:3), BB = sample(11:13)))

停止

> dats
$df1
  A  B
1 2 12
2 3 11
3 1 13

$df2
  AA BB
1  1 13
2  2 12
3  3 11

我想将所有变量名从全部大写更改为小写。我可以用一个循环来做到这一点,但不知何故无法让这个 lapply 调用工作:

dats <- lapply(dats, function(x) 
            names(x)<-tolower(names(x)))

结果是:

> dats
$df1
[1] "a" "b"

$df2
[1] "aa" "bb"

而期望的结果是:

> dats
$df1
  a  b
1 2 12
2 3 11
3 1 13

$df2
  aa bb
1  1 13
2  2 12
3  3 11

最佳答案

如果您不在函数末尾使用 return,则返回最后计算的表达式。所以你需要返回x

dats <- lapply(dats, function(x) {
            names(x)<-tolower(names(x))
            x})

关于list - 使用列表 : Rename variables 中的数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6524294/

相关文章:

viewpager fragment 中的 Android 列表

python - 算法 : how to split list data into fixed size sub-lists without having separate numbers

pdf - 如何在 LaTeX 文档中包含复杂的 R 绘图?

r - 按时间间隔聚合一个数据帧与另一个数据帧

python-3.x - 根据另一列值向前填充 Pandas

python - 可变数量列表的交集

python - 对词典列表进行排序和分组

使用具有 4000 条记录和 13 个属性的 rpart 的 R 问题

r - 如何格式化包含计数、百分比和边际总计的表格

php - 对齐字符串中的两个值 (PHP)