Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup, eval = TRUE, message=FALSE----------------------------------------
# Load Packages -----------------------------------------------------------
library(ERDbuilder)
library(gt)
library(dplyr)
# Define entities ---------------------------------------------------------
students_tbl <- data.frame(
st_id = c("hu1", "de2", "lo3"),
dep_id = c("water", "evil", "values"),
student = c("Huey", "Dewey", "Louie"),
email = c("hubert.duck", "dewfort.duck", "llewellyn.duck"),
dob = c("04-15", "04-15", "04-15")
)
courses_tbl <- data.frame(
crs_id = c("water101", "evil205", "water202"),
fac_id = c("02do", "03pe", "04mi"),
dep_id = c("water", "evil", "water"),
course = c("Swimming", "Human-chasing", "Dives")
)
enrollment_tbl <- data.frame(
crs_id = c("water101", "evil205", "evil205", "water202"),
st_id = c("hu1", "hu1", "de2", "de2"),
final_grade = c("B", "A", "A", "F")
)
department_tbl <- data.frame(
dep_id = c("water", "evil", "values"),
department = c("Water activities", "Evil procurement", "Good values")
)
faculty_tbl <- data.frame(
faculty_name = c("Scrooge McDuck", "Donald", "Pete", "Mickey"),
title = c("Emeritus", "Full", "Assistant", "Full"),
fac_id = c("01sc", "02do", "03pe", "04mi"),
dep_id = c("water", "water", "evil", "values")
)
my_gt <- function(df) {
df |>
gt() |>
tab_style(
style = cell_fill(color = "darkolivegreen1"),
locations = cells_column_labels()
)
}
gt_group(
my_gt(students_tbl),
my_gt(courses_tbl),
my_gt(enrollment_tbl),
my_gt(department_tbl),
my_gt(faculty_tbl)
)
## ----eval = TRUE--------------------------------------------------------------
## Define relationships
relationships <- list(
courses = list(
enrollment = list(crs_id = "crs_id", relationship = c("||", "|<")),
department = list(dep_id = "dep_id", relationship = c(">|", "||")),
faculty = list(fac_id = "fac_id", relationship = c(">0", "||"))
),
enrollment = list(
students = list(st_id = "st_id", relationship = c(">0", "||")
)
),
students = list(
department = list(dep_id = "dep_id", relationship = c(">|", "||"))
),
faculty = list(
department = list(dep_id = "dep_id", relationship = c(">|", "||"))
)
)
## Create ERD object
erd_object <-
create_erd(
list(
students = students_tbl,
courses = courses_tbl,
enrollment = enrollment_tbl,
department = department_tbl,
faculty = faculty_tbl
),
relationships)
## Render ERD
render_erd(erd_object, label_distance = 0, label_angle = 15, n = 20)
## ----eval = TRUE--------------------------------------------------------------
## Define relationships
relationships <- list()
## Create ERD object
erd_object <-
create_erd(
list(
students = students_tbl,
courses = courses_tbl,
enrollment = enrollment_tbl,
department = department_tbl,
faculty = faculty_tbl
),
relationships)
## Render ERD
render_erd(erd_object, label_distance = 0, label_angle = 15, n = 20)
## ----eval = TRUE--------------------------------------------------------------
## Define relationships: ugly attempt
relationships <- list(
courses = list(
enrollment = list(),
department = list(),
faculty = list()
),
enrollment = list(
students = list()
),
students = list(
department = list()
),
department = list(
faculty = list()
)
)
erd_object <-
create_erd(
list(
students = students_tbl,
courses = courses_tbl,
enrollment = enrollment_tbl,
department = department_tbl,
faculty = faculty_tbl
),
relationships)
render_erd(erd_object, label_distance = 0, label_angle = 15, n = 20)
# 2. Define Relationships: improved example
## Define relationships
relationships <- list(
courses = list(
enrollment = list(),
department = list(),
faculty = list()
),
enrollment = list(
students = list()
),
students = list(
department = list()
),
faculty = list(
department = list()
)
)
erd_object <-
create_erd(
list(
students = students_tbl,
courses = courses_tbl,
enrollment = enrollment_tbl,
department = department_tbl,
faculty = faculty_tbl
),
relationships)
render_erd(erd_object, label_distance = 0, label_angle = 15, n = 20)
## ----eval = TRUE--------------------------------------------------------------
## Define relationships
relationships <- list(
courses = list(
enrollment = list(crs_id = "crs_id", relationship = c("", "")),
department = list(dep_id = "dep_id", relationship = c("", "")),
faculty = list(fac_id = "fac_id", relationship = c("", ""))
),
enrollment = list(
students = list(st_id = "st_id", relationship = c("", "")
)
),
students = list(
department = list(dep_id = "dep_id", relationship = c("", ""))
),
faculty = list(
department = list(dep_id = "dep_id", relationship = c("", ""))
)
)
## Create ERD object
erd_object <-
create_erd(
list(
students = students_tbl,
courses = courses_tbl,
enrollment = enrollment_tbl,
department = department_tbl,
faculty = faculty_tbl
),
relationships)
## Render ERD
render_erd(erd_object, label_distance = 0, label_angle = 15, n = 20)
## ----eval = TRUE--------------------------------------------------------------
## Define relationships
relationships <- list(
courses = list(
enrollment = list(crs_id = "crs_id", relationship = c("||", "|<")),
department = list(dep_id = "dep_id", relationship = c(">|", "||")),
faculty = list(fac_id = "fac_id", relationship = c(">0", "||"))
),
enrollment = list(
students = list(st_id = "st_id", relationship = c(">0", "||")
)
),
students = list(
department = list(dep_id = "dep_id", relationship = c(">|", "||"))
),
faculty = list(
department = list(dep_id = "dep_id", relationship = c(">|", "||"))
)
)
## Create ERD object
erd_object <-
create_erd(
list(
students = students_tbl,
courses = courses_tbl,
enrollment = enrollment_tbl,
department = department_tbl,
faculty = faculty_tbl
),
relationships)
## Render ERD
render_erd(erd_object, label_distance = 0, label_angle = 15, n = 20)
## ----eval = TRUE--------------------------------------------------------------
## Define relationships
relationships <- list(
courses = list(
enrollment = list(crs_id = "crs_id", relationship = c("||", "|<")),
department = list(dep_id = "dep_id", relationship = c(">|", "||")),
faculty = list(fac_id = "fac_id", relationship = c(">0", "||"))
),
enrollment = list(
students = list(st_id = "st_id", relationship = c(">0", "||")
)
),
students = list(
department = list(dep_id = "dep_id", relationship = c(">|", "||"))
),
faculty = list(
department = list(dep_id = "dep_id", relationship = c(">|", "||"))
)
)
## Create ERD object
erd_object <-
create_erd(
list(
students = students_tbl,
courses = courses_tbl,
enrollment = enrollment_tbl,
department = department_tbl,
faculty = faculty_tbl
),
relationships)
## Render ERD
render_erd(erd_object, label_distance = 2, label_angle = 50, n = 2)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.