在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(…)