# Automatically grab all EFFSAFE columns and rename them
effsafe_cols <- grep("EFFSAFE", names(alldata), value = TRUE)
selectdata <- alldata %>%
select(all_of(effsafe_cols))
selectdata <- selectdata %>%
mutate(
EFFSAFE1 = case_when(
EFFSAFE1 == 1 ~ 6, # strongly disagree = 1
EFFSAFE1 == 2 ~ 5, # disagree = 2
EFFSAFE1 == 3 ~ 4, # slightly disagree = 3
EFFSAFE1 == 4 ~ 3, # slightly agree = 4
EFFSAFE1 == 5 ~ 2, # agree = 5
EFFSAFE1 == 6 ~ 1, # strongly agree = 6
EFFSAFE1 == -50 ~ NA, # I don't know = NA
EFFSAFE1 == -99 ~ NA # I refuse to answer = NA
),
EFFSAFE2 = case_when(
EFFSAFE2 == 1 ~ 6, # strongly disagree = 1
EFFSAFE2 == 2 ~ 5, # disagree = 2
EFFSAFE2 == 3 ~ 4, # slightly disagree = 3
EFFSAFE2 == 4 ~ 3, # slightly agree = 4
EFFSAFE2 == 5 ~ 2, # agree = 5
EFFSAFE2 == 6 ~ 1, # strongly agree = 6
EFFSAFE2 == -50 ~ NA, # I don't know = NA
EFFSAFE2 == -99 ~ NA # I refuse to answer = NA
),
EFFSAFE3 = case_when(
EFFSAFE3 == 1 ~ 6, # strongly disagree = 1
EFFSAFE3 == 2 ~ 5, # disagree = 2
EFFSAFE3 == 3 ~ 4, # slightly disagree = 3
EFFSAFE3 == 4 ~ 3, # slightly agree = 4
EFFSAFE3 == 5 ~ 2, # agree = 5
EFFSAFE3 == 6 ~ 1, # strongly agree = 6
EFFSAFE3 == -50 ~ NA, # I don't know = NA
EFFSAFE3 == -99 ~ NA # I refuse to answer = NA
),
EFFSAFE4 = case_when(
EFFSAFE4 == 1 ~ 6, # strongly disagree = 1
EFFSAFE4 == 2 ~ 5, # disagree = 2
EFFSAFE4 == 3 ~ 4, # slightly disagree = 3
EFFSAFE4 == 4 ~ 3, # slightly agree = 4
EFFSAFE4 == 5 ~ 2, # agree = 5
EFFSAFE4 == 6 ~ 1, # strongly agree = 6
EFFSAFE4 == -50 ~ NA, # I don't know = NA
EFFSAFE4 == -99 ~ NA # I refuse to answer = NA
)
)
# Rename columns sequentially as EFFSAFE1, EFFSAFE2, ...
names(selectdata) <- paste0("EFFSAFE", seq_along(effsafe_cols))
# Convert to long format
longdata <- selectdata %>%
pivot_longer(
cols = everything(),
names_to = "Variable",
values_to = "Score"
)
# Reshape the data to long format for ggplot
longdata <- selectdata %>%
pivot_longer(
cols = c(EFFSAFE1, EFFSAFE2, EFFSAFE3, EFFSAFE4),
names_to = "Variable",
values_to = "Score"
)
# Create boxplot
ggplot(longdata, aes(x = Variable, y = Score, fill = Variable)) +
geom_boxplot(alpha = 0.7, color = "black") +
labs(
title = "Paired Comparison of EFFSAFE1, EFFSAFE2, EFFSAFE3 and EFFSAFE4",
x = "Variable",
y = "Scores"
) +
scale_fill_manual(values = c("skyblue", "lightgreen", "lightpink", "khaki")) +
theme_minimal()