I would like to do right join data1 and data2 by ProductCode and I need to get desired output table below
Desired output table below
If I do it with sql, I have to group by each row and it needs a lot of work. Is there another way to do this such as dplyr or something else.
Thank you.
Code:
data1=data.frame(ProductCode=c(1,1,1,2,2,3),region=c("A","A","A","B","B","C"))
data1
ProductCode region
1 A
1 A
1 A
2 B
2 B
3 C
data2=data.frame(ProductCode=c(1,1,1,2,2,3),Period=c("promo1","promo2"
,"promo3","promo2","promo3","promo1"),promosales=c(15,12,7,18,20,2))
data2
ProductCode Period promosales
1 promo1 15
1 promo2 12
1 promo3 7
2 promo2 18
2 promo3 20
3 promo1 2
Code:
ProdcutCode region number_ofpromo Promo1_sales Promo2_sales Promo3_sales
1 A 3 15 12 7
2 B 2 18 20 0
3 C 1 2 0 0
Thank you.
Last edited: