如何在列表中分配不同的列名称

时间:2016-08-16 09:59:57

标签: r list

我有一个包含15个数据框的列表,每个数据框都有以下列

> head(final_data[[1]])
      DateTime   Value
147 2013-03-01 2320.58
148 2013-04-01 2336.89
149 2013-05-01 2213.78
150 2013-06-01 2135.90
151 2013-07-01 2302.79
152 2013-08-01 2177.01

我想将名称"Value"更改为所有数据框的其他名称,以便这15个数据框的列的最终名称必须如下所示

names(final_data[[1]])
DateTime       A 

names(final_data[[2]])
DateTime      B

谢谢。

1 个答案:

答案 0 :(得分:1)

我们可以使用lapply循环遍历list的序列并执行作业

final_data2 <- lapply(seq_along(final_data), function(i) {
                                      d1 <- final_data[[i]]
                                       names(d1)[2] <- LETTERS[i]
                                       d1
            })

或使用Map

final_data2 <- Map(function(x,y) {names(x)[2] <- y; x}, final_data, LETTERS[1:15])