# NOT RUN {
library(superb) # to import the geom_superberrorbar
library(ggplot2)
# let's have a fake data frame
dta <- data.frame(grp = c(1,2,3), center=c(1,2,3), width = c(1,1,1.5) )
# an example with none of the new features = a regular error bar
ggplot(dta, aes_string(ymin="center-width", ymax="center+width", x = "grp" ) ) +
geom_superberrorbar()
# an example with left-pointing error bars
ggplot(dta, aes_string(ymin="center-width", ymax="center+width", x = "grp" ) ) +
geom_superberrorbar(direction="left", width = 0.1)
# an example with doubled-tipped error bar and the default tipgap
ggplot(dta, aes_string(ymin="center-width", ymax="center+width", x = "grp" ) ) +
geom_superberrorbar(tipformat = "double", width = 0.1)
# an example with left-pointing tripled-tip error bars with small gaps
ggplot(dta, aes_string(ymin="center-width", ymax="center+width", x = "grp" ) ) +
geom_superberrorbar(tipformat = "triple", width= 0.1, tipgap = 0.04, direction = "left")
# a final example with two-coloured, left-pointing tripled-tip error bars with small gaps
ggplot(dta, aes_string(ymin="center-width", ymax="center+width", x = "grp" ) ) +
geom_superberrorbar(tipformat = "triple", width= 0.1, tipgap = 0.04, direction = "left",
colour = "black", vcolour = "NA")
# This new geom is integrated inside superbPlot() so that you can vary the
# error bar shapes. Let's see examples:
# using GRD to generate random data with a moderate effect
options(superb.feedback = 'none') # shut down 'warnings' and 'design' interpretation messages
test <- GRD(WSFactors = "Moment(5)",
Effects = list("Moment" = extent(10) ),
Population = list(mean = 100, stddev = 25, rho = 0.8) )
ornate = list(
labs(title =paste("(left) 95% confidence intervals",
"\n(right) 99% confidence intervals",
"\n(center) 99.9% confidence intervals")),
xlab("Moment"), ylab("Score"),
coord_cartesian( ylim = c(85,110) )
)
plt1 <- superbPlot(test,
WSFactors = "Moment(5)",
variables = c("DV.1","DV.2","DV.3","DV.4","DV.5"),
adjustments=list(purpose = "difference", decorrelation = "CA"),
errorbarParams = list(direction = "left",
width = 0.2, position = position_nudge(-0.05) ),
gamma = 0.95,
plotStyle = "line" ) + ornate
plt2 <- superbPlot(test,
WSFactors = "Moment(5)",
variables = c("DV.1","DV.2","DV.3","DV.4","DV.5"),
adjustments=list(purpose = "difference", decorrelation = "CA"),
errorbarParams = list(direction = "right", tipgap = 0.5, tipformat = "double",
width = 0.2, position = position_nudge(+0.05) ),
gamma = 0.99,
plotStyle = "line" ) + ornate
plt3 <- superbPlot(test,
WSFactors = "Moment(5)",
variables = c("DV.1","DV.2","DV.3","DV.4","DV.5"),
adjustments=list(purpose = "difference", decorrelation = "CA"),
errorbarParams = list(direction = "both", tipformat = "single",
width = 0.2, position = position_nudge(0) ),
gamma = 0.999,
plotStyle = "line" ) + ornate
# transform the ggplots into "grob" so that they can be manipulated
plt1 <- ggplotGrob(plt1)
plt2 <- ggplotGrob(plt2 + makeTransparent() )
plt3 <- ggplotGrob(plt3 + makeTransparent() )
# put the grobs onto an empty ggplot
ggplot() +
annotation_custom(grob=plt1) +
annotation_custom(grob=plt2) +
annotation_custom(grob=plt3)
# }
Run the code above in your browser using DataLab