我有一个data.frames列表,只有一列和 character
值:
> list.df[c(1,5,8)]
$1
X..1L..
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
$5
X..5L..
1 A
2 C
3 D
4 F
5 G
$8
X..8L..
1 A
2 D
3 F
4 G
5 H
6 I
另一个data.frame
> df
V2 V5 V9
1 A 31 0.13029
2 B 80 0.29443
3 C 166 0.01354
4 D 11 0.39589
5 E 62 0.61794
6 F 40 0.35808
7 G 31 0.62581
8 H 54 0.24983
9 I 19 0.47199
10 J 97 0.26518
我想将列表中的每个data.frame与 df
合并,我尝试创建一个函数 func <- function(x,y){merge(x, y, by.x=x[,1], by.y=y[,1])}
然后将其应用到列表中但它不起作用 .
lapply(list.df, func, list.df, df)
我知道我可以在几个data.frames中分割 list.df
然后单独分别 merge
,但我想知道是否有办法在 list
中进行
谢谢
2 回答
你有两个错误 . 一个在你的函数中,另一个在你如何调用你的函数:
不太确定这是否有帮助,但合并列表也许尝试
但我要注意的一件事是,从它的外观来看,你的数据帧列没有名称......在合并之前命名列,这应该有帮助......