Вы можете использовать Map
Map(`[<-`, x = dflist, i = "label", value = labvec)
#$df1
# one two label
#1 1 3 a
#2 2 1 a
#3 2 3 a
#$df2
# three four label
#1 3 1 b
#2 2 1 b
#3 2 1 b
#$df3
# five six label
#1 3 2 c
#2 2 3 c
#3 3 3 c
x
, i
и value
являются аргументами функции `[<-`
, которую мы обычно не называем как в iris['Species2'] <- "a_string_column"
, где
x
: iris
i
: 'Species2'
value
: "a_string_column"
Та же идея, что и выше, но здесь мы используем анонимную функцию с тремя аргументами (может быть проще для чтения):
Map(function(data, label, value) {data[label] <- value; data},
data = dflist,
label = "label",
value = labvec)
данные
set.seed(1)
df1 <- data.frame("one" = sample(3,replace=TRUE),
"two" = sample(3,replace=TRUE))
df2 <- data.frame("three" = sample(3,replace=TRUE),
"four" = sample(3,replace=TRUE))
df3 <- data.frame("five" = sample(3,replace=TRUE),
"six" = sample(3,replace=TRUE))
# Combine them to list
dflist = list("df1"=df1,"df2"=df2,"df3"=df3)