R为列表中的每个数据集更改变量名称

时间:2015-11-26 11:51:46

标签: r list names

我有一个数据框列表sub_lst。在每个数据框中,我想更改第1列中变量的名称。所有数据框中的变量名称都不同,所以我假设我需要使用索引。

我写了以下函数:

col1name <- function(x, na.rm=TRUE){names(x)[1] = "Time" }

然后我转到lapply

sub_lst_new <- lapply(sub_lst, col1name)

但是,这只是用[1]“时间”替换数据帧

有人可以帮助我吗 - 我确信有一个非常简单的解决方案,但我整个早上一直在桌子上敲我的头!

1 个答案:

答案 0 :(得分:0)

这应该有效

sub_list <- lapply(sub_list, function(x) {names(x)[1L] <- 'Time'; x})
sapply(sub_list, names)[1,]
#[1] "Time" "Time" "Time"

数据

set.seed(24)
sub_list <- lapply(1:3, function(i)
  as.data.frame(matrix(sample(0:9, 4*5, replace=TRUE), ncol=4)))