Open 1toMany left.csv:

Open 1toMany right.csv:

left <- read.csv('1toMany left.csv')

right <- read.csv('1toMany right.csv')

left

  key  Veggies

1 Mon Broccoli

2 Wed   Celery

3 Thu  Lettuce

4 Fri  Spinach

right

  key   Fruits

1 Mon   Apples

2 Mon  Bananas

3 Mon Cherries

4 Tue   Apples

5 Tue  Bananas

6 Wed   Apples

7 Wed Cherries

8 Fri   Apples

 

outer_right <- merge(x = left, y = right, by = 'key', all.y = TRUE)

outer_right

  key  Veggies   Fruits

1 Fri  Spinach   Apples

2 Mon Broccoli   Apples

3 Mon Broccoli  Bananas

4 Mon Broccoli Cherries

5 Wed   Celery   Apples

6 Wed   Celery Cherries

7 Tue     <NA>   Apples

8 Tue     <NA>  Bananas

# Or with the dplyr package

library(dplyr)

r_join <- left %>% right_join(right, by = 'key')

# Or by default

r_join <- left %>% right_join(right)

r_join

  key  Veggies   Fruits

1 Mon Broccoli   Apples

2 Mon Broccoli  Bananas

3 Mon Broccoli Cherries

4 Tue     <NA>   Apples

5 Tue     <NA>  Bananas

6 Wed   Celery   Apples

7 Wed   Celery Cherries

8 Fri  Spinach   Apples

Functions referenced:

read.csv

merge

right_join (page 28)

More information:

RStudio Data Wrangling Cheatsheet

--- The End ---