Reputation: 93
1 have 2 dataframe it looks like
df1
Store_type Total_Amount prod_subcat_code
<chr> <dbl> <int>
e-Shop 4265.300 4
e-Shop 8270.925 1
TeleShop 1748.110 3
e-Shop 4518.345 1
e-Shop 2568.020 3
and df2
prod_cat_code prod_cat prod_sub_cat_code prod_subcat
<chr> <chr> <int> <chr>
1 Clothing 4 Mens
1 Clothing 1 Women
1 Clothing 3 Kids
2 Footwear 1 Mens
2 Footwear 3 Women
what if I want to use left_join so that my dataframe looks like
df3
Store_type prod_cat prod_subcat_code Total_amount
<chr> <chr> <int> <dbl>
e-shop Clothing 4 4265.300
^^a table contanin 4 columns in order^^
i have tried running
df1 %>%
left_join(select(df2, Store_type, prod_cat, prod_subcat, Total_amount,
by =c("prod_subcat_code"="prod_sub_cat_code")))
Upvotes: 1
Views: 42
Reputation: 79204
One way could be:
df1 %>%
left_join(df2, by=c("prod_subcat_code"="prod_sub_cat_code")) %>%
select(Store_type, prod_cat, prod_subcat_code, Total_Amount) %>%
filter(prod_subcat_code == 4)
Output:
Store_type prod_cat prod_subcat_code Total_Amount
<chr> <chr> <dbl> <dbl>
1 e-Shop Clothing 4 4265.
Upvotes: 1
Reputation: 2906
Please provide a data sample using dput
.
Otherwise, this should work:
left_join(df1,
df2 %>%
select(-prod_cat_code, - prod_subcat),
by = c("prod_subcat_code" = "prod_sub_cat_code")) %>%
relocate(Store_type, prod_cat, prod_subcat_code, Total_amout)
Upvotes: 0