我有一个数据框列表sub_lst
。在每个数据框中,我想更改第1列中变量的名称。所有数据框中的变量名称都不同,所以我假设我需要使用索引。
我写了以下函数:
col1name <- function(x, na.rm=TRUE){names(x)[1] = "Time" }
然后我转到lapply
:
sub_lst_new <- lapply(sub_lst, col1name)
但是,这只是用[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)))