Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将合并应用于data.frames列表_R_Merge - Fatal编程技术网

将合并应用于data.frames列表

将合并应用于data.frames列表,r,merge,R,Merge,我有一个data.frames列表,其中只有一列和一个字符值: > 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.frames列表,其中只有一列和一个
字符
值:

> 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您有两个错误。一个在函数中,另一个在函数调用方式中:

func <- function(x,y){merge(x, y, by.x=names(x)[1], by.y=names(y)[1])}
lapply(list.df, func, df)

func不太确定这是否有帮助,但要合并列表,请尝试

df.list <- do.call(merge,list.df[c(1,5,8)])

as.data.frame(x)中的
df.list错误:缺少参数“x”,当我在@eddi再次添加
df.list Hi时,当列表有9000个元素且data.frame维度为17000行乘1000列时,是否有任何方法可以加快函数
fun
?许多感谢使用
data.table
s而不是
data.frame
s-在SO或google上快速搜索一下,你就可以开始使用
dt=data.table(df,key='V2')
,然后使用
fn=function(x){df[x]};lappy(list.df,func)
可能是一个很好的起点
df.list <- do.call(merge,list.df[c(1,5,8)])
colnames(df) <- c("col1","col2","col3")