合并具有不同维度的数据集

时间:2017-09-14 17:33:16

标签: r merge

self视为

df1

df1 = data.frame(a = c(1,2,2), b = c(2, 2, 3), c = c(3, 2, 1), label = c("abc", "bbb", "bca")) > df1 a b c label 1 1 2 3 abc 2 2 2 2 bbb 3 2 3 1 bca

df2

合并它们以获得df2 = data.frame(a = c(2, 2, 1, 1, 1, 2), b = c(2, 2, 2, 2, 2, 3), c = c(2, 2, 3, 3, 3, 1), d = c(0.1, 0.2, 0.8, 0.7, 0.6, 0.9)) > df2 a b c d 1 2 2 2 0.1 2 2 2 2 0.2 3 1 2 3 0.8 4 1 2 3 0.7 5 1 2 3 0.6 6 2 3 1 0.9 如下的最佳方法是什么?

df3

我希望输出与df3 = data.frame(a = c(2, 2, 1, 1, 1, 2), b = c(2, 2, 2, 2, 2, 3), c = c(2, 2, 3, 3, 3, 1), d = c(0.1, 0.2, 0.8, 0.7, 0.6, 0.9), label = c("bbb", "bbb", "abc", "abc", "abc", "bca")) > df3 a b c d label 1 2 2 2 0.1 bbb 2 2 2 2 0.2 bbb 3 1 2 3 0.8 abc 4 1 2 3 0.7 abc 5 1 2 3 0.6 abc 6 2 3 1 0.9 bca 的大小相同,包含其所有属性和值,以及来自df2的其他label列,表示{{1}的唯一组合组}},df1a属性。

我尝试了基本的b函数

c

它适用于我的示例数据帧(如此示例),但是当我想将此逻辑应用于更大的数据集时,它不会返回我期望的输出。特别是输出的大小merge的大小相同,但是尺寸更小。

我想知道是否有任何替代方法可以做到这一点,或者在大数据集中应用相同逻辑(在小数据帧中似乎工作正常)可能出错的任何想法。谢谢!

0 个答案:

没有答案