Nothing
## ----global_options, include=FALSE--------------------------------------------
library(knitr)
knitr::opts_chunk$set(
fig.width = 7, fig.height = 7, warning = FALSE,
message = FALSE, out.width = "70%"
)
knitr::opts_knit$set(root.dir = tempdir())
pkgs <- c("ggplot2", "boot", "psych")
successfully_loaded <- vapply(pkgs, requireNamespace, FUN.VALUE = logical(1L), quietly = TRUE)
can_evaluate <- all(successfully_loaded)
if (can_evaluate) {
knitr::opts_chunk$set(eval = TRUE)
vapply(pkgs, require, FUN.VALUE = logical(1L), quietly = TRUE, character.only = TRUE)
} else {
knitr::opts_chunk$set(eval = FALSE)
}
## -----------------------------------------------------------------------------
data("ToothGrowth")
head(ToothGrowth)
## -----------------------------------------------------------------------------
library(rempsyc)
## -----------------------------------------------------------------------------
pkgs <- c("ggplot2", "boot", "psych")
install_if_not_installed(pkgs)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len"
)
## ----eval = FALSE-------------------------------------------------------------
# ggplot2::ggsave("nice_violinplothere.pdf",
# width = 7, height = 7,
# unit = "in", dpi = 300
# )
# # Change the path to where you would like to save it.
# # If you copy-paste your path name,
# # remember to use "R" slashes ('/' rather than '\').
# # Also remember to specify the .tiff extension of the file.
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
ytitle = "Length of Tooth",
xtitle = "Vitamin C Dosage"
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
comp1 = "0.5",
comp2 = "2"
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
comp1 = 2,
comp2 = 3
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
signif_annotation = c("*", "**", "***"), # manually enter the number of stars
signif_yposition = c(30, 36, 40), # What height (y) should the stars appear?
signif_xmin = c(1, 2, 1), # Where should the left-sided brackets start (x)?
signif_xmax = c(2, 3, 3)
) # Where should the right-sided brackets end (x)?
## -----------------------------------------------------------------------------
nice_violin(
data = mtcars,
group = "am",
response = "mpg",
comp1 = 1,
comp2 = 2,
has.d = TRUE
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
colours = c("darkseagreen", "cadetblue", "darkslateblue")
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
xlabels = c("Low", "Medium", "High")
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
ytitle = NULL,
xtitle = NULL
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
has.ylabels = FALSE,
has.xlabels = FALSE
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
ymin = 5,
ymax = 35,
yby = 5
)
## ----fig.width=8--------------------------------------------------------------
ToothGrowth$six.groups <- sample(1:6, 60, replace = T)
nice_violin(
data = ToothGrowth,
group = "six.groups",
response = "len"
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
obs = TRUE
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
CIcap.width = 0,
alpha = .70,
border.colour = "white"
)
## -----------------------------------------------------------------------------
nice_violin(
data = ToothGrowth,
group = "dose",
response = "len",
boot = TRUE,
bootstraps = 200,
ytitle = "Length of Tooth",
xtitle = "Vitamin C Dosage",
colours = c("darkseagreen", "cadetblue", "darkslateblue"),
has.ylabels = TRUE,
has.xlabels = TRUE,
xlabels = c("Low", "Medium", "High"),
ymin = 0,
ymax = 45,
yby = 15,
signif_annotation = c("*", "NS", "***"),
signif_yposition = c(30, 36, 41),
signif_xmin = c(1, 2, 1),
signif_xmax = c(2, 3, 3),
CIcap.width = 0,
alpha = 0.5,
border.colour = "black",
border.size = 1,
obs = TRUE,
has.d = TRUE,
d.x = 1.7,
d.y = 20
)
## -----------------------------------------------------------------------------
# Create our group variable:
ToothGrowth$groups <- factor(sample(1:6, 60, replace = T))
# Make the plot and save it to object "p"
p <- nice_violin(
data = ToothGrowth,
group = "groups",
response = "len",
border.size = 1
)
## ----fig.width=8--------------------------------------------------------------
# Compute basic statistics and save to object
library(psych) # Install the psych package if you don't already have it
statsSummary <- describeBy(
x = ToothGrowth$len, group = ToothGrowth$groups, mat = TRUE
)
# Add our annotations! (Warning: a bit more complicated code ahead!)
library(ggplot2)
p + annotate(
geom = "text",
# First annotation adds the average
x = seq(length(levels(ToothGrowth$groups))),
# Specifies annotations is for all groups/x-axis ticks
y = statsSummary$mean + 2,
# Puts mean at mean value on the y-axis (adds 2)
label = paste0("m =", round(statsSummary$mean, 2))
) +
# That prints the mean on the plot
annotate(
geom = "text",
# (Second annotation adds the sample size)
x = seq(length(levels(ToothGrowth$groups))),
y = statsSummary$mean - 2,
# Puts sample size at mean value on the y-axis (substracts 2)
label = paste0("n =", round(statsSummary$n, 2))
)
# That prints the sample size on the plot
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.