以替代方式连接 2 个数据帧(第一个数据帧的第一列、第二个数据帧的第一列等,但列名称不变

问题描述 投票:0回答:1

您好,我是 R 编程新手,我遇到了一个问题。我想以这种方式将 2 个数据框合并为一个新数据框。第一个数据帧的第一列、第二个数据帧的第一列以及新数据帧的第三列应该是之前两列之间的差异,并对数据帧的所有列迭代该过程(当然它们具有相同的大小)。关键的一点是新列的名称应该保持不变......这就是我陷入困境的地方。请帮助我

我尝试迭代 for 循环并通过 cbind 进行组合,但我不知道如何保持列名称不变

r dataframe cbind r-colnames
1个回答
0
投票

您说您有两个数据集

data1
data2
,以及第三个数据集,这是两个数据集的差异。这是一个快速的方法来解决这个问题

data1 <- head(iris[1:3])
data2 <- head(trees)
data3 <- data1 - data2
names(data3) <- paste0(names(data1), '_', names(data2))

有了上面的数据,为了获得所需的输出,我们可以简单地执行以下操作:

cbind(data1, data2, data3)[order(rep(seq(data1), 3))]
© www.soinside.com 2019 - 2024. All rights reserved.