在R中连接两个数据集
我有两个数据集要合并在R中连接两个数据集,r,dataset,R,Dataset,我有两个数据集要合并 Dataset_1: id| value_1 1 | a 1 | b 1 | b 2 | a 2 | a 2 | b ... Dataset_2: id| value_2 1 | 123 1 | 433 1 | 234 2 | 222 2 | 333 2 | 333 ... 结果应该是这样的: id| value_1 | value 2 1 | a | 123 1 | b | 433 1 |
Dataset_1:
id| value_1
1 | a
1 | b
1 | b
2 | a
2 | a
2 | b
...
Dataset_2:
id| value_2
1 | 123
1 | 433
1 | 234
2 | 222
2 | 333
2 | 333
...
结果应该是这样的:
id| value_1 | value 2
1 | a | 123
1 | b | 433
1 | b | 234
2 | a | 222
2 | a | 333
2 | b | 333
如果尝试使用这些功能:
inner_join(dataset_1,dataset_2,by="id")
and
full_join(dataset_1,dataset_2,by="id")
and
merge(dataset_1,dataset_2,by="id")
但我总是得到这两个数据集的所有可能组合,而不是组合的一个。
这应该很简单,但我不知道我做错了什么
id是双精度的,值_1是chr,值_2是int
谢谢你的帮助 您的示例显示需要绑定而不是连接
Dataset_3 <- bind_cols(Dataset_1,Dataset_2[-1] )
Dataset_3您的示例显示需要绑定而不是连接
Dataset_3 <- bind_cols(Dataset_1,Dataset_2[-1] )
Dataset\u 3在您的情况下,请尝试cbind
。如果要使用联接,您必须有一个规则,将Dataset\u 1
中的哪一行与Dataset\u 2
中的哪一行联接。例如,为什么在预期输出的第二行中,值2
等于433
,而不是234
。我认为连接函数默认为“自然连接”,因为id列中存在重复的id值?尝试“内部联接”以查看帮助文件。最终,您可以使用cbind(…)
在您的情况下,尝试cbind
。如果要使用联接,您必须有一个规则,将Dataset\u 1
中的哪一行与Dataset\u 2
中的哪一行联接。例如,为什么在预期输出的第二行中,值2
等于433
,而不是234
。我认为连接函数默认为“自然连接”,因为id列中存在重复的id值?尝试“内部加入”以查看帮助文件。最终您可以使用cbind(…)