我有一个数据框 df1,其中包含三列,分别称为 x、y 和 z
df1
x y z
8 2 8
9 3 1
1 7 2
我还有一个包含 30 个数据帧 df2、df3、... df31 的列表,每个数据帧都有三列 a、b 和 c。
list1
df2 df3 ... df31
a b c a b c a b c
4 7 5 4 8 6 3 1 7
9 5 3 3 1 9 4 8 6
8 6 1 2 9 1 1 6 3
我想将 df1 的列 y 与列表中的每个数据框合并为一个新列。所以新的列表应该是这样的:
list2
df2 df3 ... df31
a b c y a b c y a b c y
4 7 5 2 4 8 6 2 3 1 7 2
9 5 3 3 3 1 9 3 4 8 6 3
8 6 1 7 2 9 1 7 1 6 3 7
我一直在使用以下代码:
list2 <- mapply("cbind", list1, df1$y, SIMPLIFY = FALSE)
然而,这似乎只取 y 的第一个值并将其放入新列:
list2
df2 df3 ... df31
a b c y a b c y a b c y
4 7 5 2 4 8 6 2 3 1 7 2
9 5 3 2 3 1 9 2 4 8 6 2
8 6 1 2 2 9 1 2 1 6 3 2
这似乎是一个简单的问题,我真的很坚持,所以我将不胜感激。谢谢!