1. Import your data

age <- read_csv("gifts_age.csv")
## Rows: 6 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Age
## dbl (8): SpendingCelebrating, Candy, Flowers, Jewelry, GreetingCards, Evenin...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
gender <- read_csv("gifts_gender.csv")
## Rows: 2 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Gender
## dbl (8): SpendingCelebrating, Candy, Flowers, Jewelry, GreetingCards, Evenin...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

2. Make data small

age_small <- age %>% 
  rename(group = Age) %>%
  select(group, Candy, Flowers, Jewelry)

gender_small <- gender %>%
  rename(group = Gender) %>%
  select(group, Candy, Flowers, Jewelry)

3. inner_join

inner <- inner_join(age_small, gender_small, by = "group")
inner
## # A tibble: 0 × 7
## # ℹ 7 variables: group <chr>, Candy.x <dbl>, Flowers.x <dbl>, Jewelry.x <dbl>,
## #   Candy.y <dbl>, Flowers.y <dbl>, Jewelry.y <dbl>

4. left_join

left <- left_join(age_small, gender_small, by = "group")
left
## # A tibble: 6 × 7
##   group Candy.x Flowers.x Jewelry.x Candy.y Flowers.y Jewelry.y
##   <chr>   <dbl>     <dbl>     <dbl>   <dbl>     <dbl>     <dbl>
## 1 18-24      70        50        33      NA        NA        NA
## 2 25-34      62        44        34      NA        NA        NA
## 3 35-44      58        41        29      NA        NA        NA
## 4 45-54      60        37        20      NA        NA        NA
## 5 55-64      50        32        13      NA        NA        NA
## 6 65+        42        25         8      NA        NA        NA

5. right_join

right <- right_join(age_small, gender_small, by = "group")
right
## # A tibble: 2 × 7
##   group Candy.x Flowers.x Jewelry.x Candy.y Flowers.y Jewelry.y
##   <chr>   <dbl>     <dbl>     <dbl>   <dbl>     <dbl>     <dbl>
## 1 Men        NA        NA        NA      52        56        30
## 2 Women      NA        NA        NA      59        19        14

6. full_join

full <- full_join(age_small, gender_small, by = "group")
full
## # A tibble: 8 × 7
##   group Candy.x Flowers.x Jewelry.x Candy.y Flowers.y Jewelry.y
##   <chr>   <dbl>     <dbl>     <dbl>   <dbl>     <dbl>     <dbl>
## 1 18-24      70        50        33      NA        NA        NA
## 2 25-34      62        44        34      NA        NA        NA
## 3 35-44      58        41        29      NA        NA        NA
## 4 45-54      60        37        20      NA        NA        NA
## 5 55-64      50        32        13      NA        NA        NA
## 6 65+        42        25         8      NA        NA        NA
## 7 Men        NA        NA        NA      52        56        30
## 8 Women      NA        NA        NA      59        19        14

7. semi_join

semi <- semi_join(age_small, gender_small, by = "group")
semi
## # A tibble: 0 × 4
## # ℹ 4 variables: group <chr>, Candy <dbl>, Flowers <dbl>, Jewelry <dbl>

8. anti_join

anti <- anti_join(age_small, gender_small, by = "group")
anti
## # A tibble: 6 × 4
##   group Candy Flowers Jewelry
##   <chr> <dbl>   <dbl>   <dbl>
## 1 18-24    70      50      33
## 2 25-34    62      44      34
## 3 35-44    58      41      29
## 4 45-54    60      37      20
## 5 55-64    50      32      13
## 6 65+      42      25       8