Unpack packages

library(dplyr)
library(ggplot2)

Collapse options from behavioural frequency down to 4:

Never (1) | Once per week or less (2 & 3) | Most days or everyday (4 & 5)| I don’t know (88)

df <- read.csv(file = "../df.csv",)
df <- mutate(df,esd_ed = pq_esd_ed_freq,
             esd_calm = pq_esd_calm_freq,
             esd_busy = pq_esd_busy_freq,
             esd_meals = pq_esd_meals_freq,
             esd_play = pq_esd_play_freq,
             esd_bed = pq_esd_bed_freq,
             esd_travel = pq_esd_travel_freq,
             esd_walk = pq_esd_walk_freq,
             bedtime_routine = pq_bedtime_routine)
var_names <- cbind(c("pq_esd_ed_freq","pq_esd_calm_freq","pq_esd_busy_freq","pq_esd_meals_freq","pq_esd_play_freq","pq_esd_bed_freq","pq_esd_travel_freq","pq_esd_walk_freq","pq_bedtime_routine"), 
c("esd_ed","esd_calm","esd_busy","esd_meals","esd_play","esd_bed","esd_travel","esd_walk","bedtime_routine"))

for (i in 1:9) {
df[,var_names[i,2]][df[,var_names[i,1]] == 2 | df[,var_names[i,1]] == 3] = 2
df[,var_names[i,2]][df[,var_names[i,1]] == 4 | df[,var_names[i,1]] == 5] = 3
}

Rename

pa_var_names <- names(df)[4:9]
for (i in 1:6) {
for (j in 1:9) {
print(ggplot(data = df, aes(y = .data[[pa_var_names[i]]], x= as.factor(.data[[var_names[j,2]]]), fill = as.factor(.data[[var_names[j,2]]]))) + geom_violin() + geom_boxplot(width = 0.05, fill = "grey"))
}}