我有一个只包含一列字符值的数据框列表:
> 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
还有另一个数据帧
> 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
我希望将列表中的每个数据框与
df
合并,我尝试创建了一个函数func <- function(x,y){merge(x, y, by.x=x[,1], by.y=y[,1])}
,然后将其应用于列表,但它不起作用。lapply(list.df, func, list.df, df)
我知道可以将list.df
拆分成几个数据框,然后逐个合并它们,但我想知道是否有一种方法可以在list
中完成。
谢谢
fun
?非常感谢。 - user2380782data.table
代替data.frame
- 在SO或谷歌上进行快速搜索即可开始,类似于dt = data.table(df, key = 'V2')
,然后使用fn = function(x){df[x]}; lapply(list.df, func)
可能是一个不错的起点。 - eddi