将新的值列设置为data.frames列表

时间:2017-07-17 18:41:00

标签: r dataframe lapply

我想在data.frames列表中添加一个标识符列(在取消列出它们之前)。我尝试使用lapply

names = c('a', 'b')
d1 <- data.frame(y1=c(1,2,3),y2=c(4,5,6))
d2 <- data.frame(y1=c(3,2,1),y2=c(6,5,4))
my.list <- list(d1, d2)
lapply(seq_along(my.list), function(x) my.list[[x]]$names = names[[x]])

但是这会返回

[[1]]
[1] "a"

[[2]]
[1] "b"

而不是:

[[1]]
  y1 y2 names
1  1  4    a
2  2  5    a
3  3  6    a

[[2]]
  y1 y2  names
1  3  6      b
2  2  5      b
3  1  4      b

编辑:我一直在使用index(my.list)(来自zoo)。编辑为seq_along(my.list)留在基地R

1 个答案:

答案 0 :(得分:0)

您可以使用%xmm1并行处理两个序列(将名称添加到数据帧列表中):

Map
相关问题