library(lubridate)
library(ggplot2)
library(patchwork)
# devtools::install_github("psyteachr/introdataviz")
library(introdataviz)
<- read.csv("sleep_env.csv")
d $datetime <- ymd_hms(d$datetime)
d# drop 31 and 35
<- subset(d, !patient_id %in% c(31, 35))
d $sleep_wake <- factor(d$sleep_wake,
dlabels = c("asleep", "disrupted"))
split violin plots
Load data
Function to create plots
<- function(var){
p_func <- ggplot(d) +
p aes_string(x = var, y = var, fill = "sleep_wake") +
::geom_split_violin(alpha = .4, trim = FALSE) +
introdatavizylab("") +
scale_x_continuous(labels = NULL, breaks = NULL) +
theme_minimal()
p }
Create plot
<- p_func("temp")
p1 <- p_func("humid")
p2 <- p_func("co2")
p3 <- p_func("spl_a")
p4 # plot_layout(guides = 'collect') for just one legend
+ p2 + p3 + p4 + plot_layout(guides = 'collect') p1