65 lines
2.2 KiB
R
Executable file
65 lines
2.2 KiB
R
Executable file
#!/usr/bin/Rscript
|
|
getwd()
|
|
setwd("~/git/mosaic_2020/")
|
|
getwd()
|
|
############################################################
|
|
# TASK: boxplots with stats
|
|
############################################################
|
|
doMyPlotsStats <- function(df) {
|
|
mediators = levels(as.factor(df$mediator))
|
|
|
|
plots <- list()
|
|
|
|
for (i in mediators) {
|
|
cat("Plotting:", i, "\n")
|
|
single=df[df$mediator==i,]
|
|
|
|
max_y = max(single$value, na.rm = T)
|
|
cat("Plotting:", i, "max_y:", max_y, "\n")
|
|
|
|
#----------
|
|
# boxplot
|
|
#----------
|
|
p = ggplot(single)+ geom_boxplot(aes(x = timepoint
|
|
, y = value
|
|
, color = obesity
|
|
#, palette = c("#00BFC4", "#F8766D")
|
|
))+
|
|
scale_colour_manual(values=c("#00BFC4", "#F8766D")) +
|
|
theme(axis.text.x = element_text(size = 15)
|
|
, axis.text.y = element_text(size = 15
|
|
, angle = 0
|
|
, hjust = 1
|
|
, vjust = 0)
|
|
, axis.title.x = element_blank()
|
|
, axis.title.y = element_blank()
|
|
, legend.position = "none"
|
|
, plot.subtitle = element_text(size = 20, hjust = 0.5)
|
|
, plot.title = element_text(size = 20, hjust = 0.5)) +
|
|
labs(title = i)
|
|
|
|
#--------
|
|
# stats
|
|
#---------
|
|
stat_df <- single %>%
|
|
group_by(timepoint, mediator) %>%
|
|
wilcox_test(value ~ obesity, paired = F) %>%
|
|
add_significance("p")
|
|
stat_df$p_format = round(stat_df$p, digits = 3)
|
|
|
|
stat_df <- stat_df %>%
|
|
add_xy_position(x = "timepoint", dodge = 0.8)
|
|
p2 = p + stat_pvalue_manual(stat_df
|
|
#, y.position = max_y
|
|
, label = "{p_format} {p.signif}"
|
|
, hide.ns = T
|
|
, tip.length = 0)+
|
|
scale_y_continuous(expand = expansion(mult = c(0.05, 0.25)))
|
|
plots[[i]] <- p2
|
|
|
|
}
|
|
return(plots)
|
|
}
|
|
|
|
###############################################################
|
|
|