Skip to content

Instantly share code, notes, and snippets.

@carlbfrederick
Created July 20, 2018 14:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carlbfrederick/5a6a7027d842c4b268ada5f0f5fdf028 to your computer and use it in GitHub Desktop.
Save carlbfrederick/5a6a7027d842c4b268ada5f0f5fdf028 to your computer and use it in GitHub Desktop.
Using babynames package to illustrate complex data sharing
library(babynames)
library(tidyverse)
set.seed(8746)
snames <- sample(babynames$name, 14)
unames <- snames[11:14]
snames <- snames[1:10]
Agency1 <- data_frame(Person = c(sample(snames, 5), unames[1]),
Agency1 = "X") %>%
arrange(Person)
Agency2 <- data_frame(Person = c(sample(snames, 6), unames[2]),
Agency2 = "X") %>%
arrange(Person)
Agency3 <- data_frame(Person = c(sample(snames, 6), unames[3]),
Agency3 = "X") %>%
arrange(Person)
Agency4 <- data_frame(Person = c(sample(snames, 8), unames[4]),
Agency4 = "X") %>%
arrange(Person)
Agency1_Agency2 <- inner_join(Agency1, Agency2)
Agency1_Agency3 <- inner_join(Agency1, Agency3)
Agency1_Agency4 <- inner_join(Agency1, Agency4)
Agency2_Agency3 <- left_join(Agency2, Agency3)
Agency4_Agency3 <- left_join(Agency4, Agency3)
Agency1_Agency2_Agency3 <- inner_join(Agency1, Agency2_Agency3)
Agency1_Agency4_Agency3 <- inner_join(Agency1, Agency4_Agency3)
option_0 <- full_join(Agency1_Agency2, Agency1_Agency4) %>% full_join(Agency1_Agency3) %>% select(Person, Agency1, Agency2, Agency4, Agency3)
option_1 <- full_join(Agency1_Agency2_Agency3, Agency1_Agency4_Agency3) %>% select(Person, Agency1, Agency2, Agency4, Agency3)
option_2 <- full_join(Agency1_Agency2_Agency3, Agency1_Agency4) %>% select(Person, Agency1, Agency2, Agency4, Agency3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment