我正在尝试合并两个数据集。
数据集1有大约1。 4000行和数据集2有132行。我想将数据集2中的Brand
名称与数据集1中的UPS
名称进行匹配。因此,所有UPS
中的Brands
也都具有相应的merge
。我试图将它们与 UPS WEEK AP
1 1111112016 1 385.22
2 1111112016 2 221.63
3 1111112016 3 317.47
4 1111112016 4 173.71
5 1111112016 5 269.55
合并。但是,到目前为止,我还没有成功合并它们。
DataSet 01: UPS是数字的地方
UPC Brand
1 1111112016 Dove
2 1111112440 Dove
3 1111112480 Dove
4 1111112501 Dove
5 1111132008 Lever
6 1111132012 Lever
7 1111132048 Lever
8 1111132122 Lever
数据集02:
Brand = c(unique(UB$Brand))
UPS = c(unique(PAW2$UPS))
PAWn = merge(PAW, UB, by.x = "UPS", by.y = "Brand")
这是我到目前为止尝试的方式:
{{1}}
我知道还有其他帖子。但到目前为止,他们没有帮助。
答案 0 :(得分:3)
根据您的描述,我认为您需要:
merge(PAW, UB, by.x = "UPS", by.y = "UPC", all.x = TRUE)
得到你想要的东西。正如Nicola在评论中已经说过的那样,您可以将Brand
中的UB
名称与UPS
中的PAW
代码相匹配的唯一方法是通过与{{1}匹配UPC
中的代码。
当UB
是字符变量且UB$UPC
是数字变量时,这也有效。
通过添加PAW$UPS
,all.x = TRUE
中的所有观察结果都会被返回,即使他们在PAW
中没有匹配的值。