这是我的列表示例(实际上我实际上有> 2,000 df):
<a href="#test" pageScroll> test </a>
我需要为列表中的每个data.frame创建一个新列,并使用特定数字填充每个列。
df1 = read.table(text = 'a b
1 66
1 999
23 89', header = TRUE)
df2 = read.table(text = 'a b
99 61
32 99
83 19', header = TRUE)
lst = list(df1, df2)
所以我的输出应该是:
numbers = c(100, 200)
使用> lst
[[1]]
a b new_col
1 1 66 100
2 1 999 100
3 23 89 100
[[2]]
a b new_col
1 99 61 200
2 32 99 200
3 83 19 200
我可以为每个data.frame创建一个新的空白列:
lapply
但我不知道如何使用我的数字向量填充列。
由于
答案 0 :(得分:6)
为了同时迭代data.frames和数字向量列表,请使用Map()
。例如
Map(cbind, lst, new_col=numbers)
# [[1]]
# a b new_col
# 1 1 66 100
# 2 1 999 100
# 3 23 89 100
#
# [[2]]
# a b new_col
# 1 99 61 200
# 2 32 99 200
# 3 83 19 200