R 成对合并两个数据帧中的行

R 成对合并两个数据帧中的行,r,dataframe,merge,R,Dataframe,Merge,我想创建一个函数,其中两个数据帧的合并成对发生(即df1列1与df2列1相邻,然后df1列2与df2列2相邻(以此类推)。下面是一个脚本,用于生成两个随机数据帧,以实现再现性 df1 <- data.frame(replicate(10,rnorm(20))) df2 <- data.frame(replicate(10,rnorm(20))) df1一种可能性是使用Map do.call(cbind, Map(cbind, df1, df2)) 或mapply

我想创建一个函数,其中两个数据帧的合并成对发生(即df1列1与df2列1相邻,然后df1列2与df2列2相邻(以此类推)。下面是一个脚本,用于生成两个随机数据帧,以实现再现性

    df1 <- data.frame(replicate(10,rnorm(20)))
    df2 <- data.frame(replicate(10,rnorm(20)))

df1一种可能性是使用
Map

do.call(cbind, Map(cbind, df1, df2))
mapply

do.call(cbind, mapply(cbind, df1, df2, SIMPLIFY = F))
说明:内部
cbind
df1
df2
成对绑定列。外部
cbind
将成对列的
列表
绑定到最终的
data.frame


使用一对带有固定种子的较小样本
data.frame
s(用于再现性),以下是一个示例:

set.seed(2017);
df1 <- data.frame(replicate(2, rnorm(4)))
df2 <- data.frame(replicate(2, rnorm(4)))

do.call(cbind, Map(cbind, df1, df2))
#            [,1]       [,2]         [,3]       [,4]
#[1,]  1.43420148 -0.2653360 -0.069825227 -0.7467347
#[2,] -0.07729196  1.5632226  0.451905527  0.3066498
#[3,]  0.73913723  0.3427681 -1.958366456 -1.4304858
#[4,] -1.75860473  1.5724254 -0.001524259  1.1944265
set.seed(2017);
df1