我有不同维度的向量列表和不同data.frame对象的列表。我想通过并行添加vec.list到df.list作为新属性。我怎样才能以最快的方式实现这一目标?提前致谢
df.list <- list(
d1 <- data.frame(
V1=seq(1, by=2, len=6), V2=seq(6, by=2, len=6),
V3=letters[seq(1:6)], V4=sample(1:10, 6, replace = FALSE)),
d2 <- data.frame(
V1=seq(2, by=3, len=8), V2=seq(6, by=3, len=8),
V3=letters[seq(1:8)], V4=sample(1:10, 8, replace = FALSE)),
d3 <- data.frame(
V1=seq(4, by=3, len=5), V2=seq(9, by=3, len=5),
V3=letters[seq(1:5)], V4=sample(1:8, 5, replace = FALSE))
)
vec.list <- list(sc1 <- c(1,3,5,6,7,8),
sc2 <- c(2,4,5,7,9,10,14,16),
sc3 <- c(6,10,11,13,15))
答案 0 :(得分:3)
试试这个:
library(dplyr)
library(purrr)
df.list.new <- map2(.x = df.list ,
.y = vec.list ,
.f = function(x, y) bind_cols(x, data.frame('sc' = y)))
答案 1 :(得分:2)
使用基本功能,
df.list.new = Map(cbind, df.list, sc = vec.list)
不幸的是,这并不能保留您的列表名称。但他们可以重新分配
names(df.list.new) = names(df.list)