Nothing
## ----echo = FALSE, warning=FALSE, message = FALSE, results = 'hide'----------
cat("this will be hidden; use for general initializations.")
library(superb)
library(ggplot2)
## -----------------------------------------------------------------------------
head(dataFigure2)
## -----------------------------------------------------------------------------
t.test(dataFigure2$pre, dataFigure2$post, var.equal=TRUE)
## -----------------------------------------------------------------------------
t.test(dataFigure2$pre, dataFigure2$post, var.equal=TRUE, paired = TRUE)
## ----message=FALSE, echo=TRUE, fig.width = 4, fig.cap="**Figure 1**. Representation of the individual participants"----
library(reshape2)
# first transform the data in long format; the pre-post scores will go into column "variable"
dataFigure2long <- melt(dataFigure2, id="id")
# add transparency when pre is smaller or equal to post
dataFigure2long$trans = ifelse(dataFigure2$pre <= dataFigure2$post,0.9,1.0)
# make a plot, with transparent lines when the score increased
ggplot(data=dataFigure2long, aes(x=variable, y=value, group=id, alpha = trans)) +
geom_line( ) +
coord_cartesian( ylim = c(70,150) ) +
geom_abline(intercept = 102.5, slope = 0, colour = "red", linetype=2)
## ----message=FALSE, echo=TRUE, fig.width = 4, fig.cap="**Figure 2**. Representation of the *subject-centered* individual participants"----
# use subjectCenteringTransform function
library(superb)
df2 <- subjectCenteringTransform(dataFigure2, c("pre","post"))
# tranform into long format
library(reshape2)
dl2 <- melt(df2, id="id")
# make the plot
ggplot(data=dl2, aes(x=variable, y=value, colour=id, group=id)) + geom_line()+
coord_cartesian( ylim = c(70,150) ) +
geom_abline(intercept = 102.5, slope = 0, colour = "red", size = 0.5, linetype=2)
## -----------------------------------------------------------------------------
t.test(dataFigure2$pre, dataFigure2$post, paired=TRUE)
## -----------------------------------------------------------------------------
cor(dataFigure2$pre, dataFigure2$post)
## ----message=FALSE, warning=FALSE, echo=TRUE, fig.height = 3, fig.width = 4, fig.cap="**Figure 3a**. Means and difference and correlation-adjusted 95% confidence intervals"----
superb(
cbind(pre, post)~ ., # no between-group factor
dataFigure2,
WSFactors = "Moment(2)",
adjustments = list(
purpose = "difference",
decorrelation = "CA" ## NEW! use a decorrelation technique
),
plotStyle = "line" )
## ----message=FALSE, warning=FALSE, echo=TRUE, fig.width = 4, fig.cap="**Figure 3b**. Means and 95% confidence intervals on raw data (left) and on decorrelated data (right)"----
options(superb.feedback = 'none') # shut down 'warnings' and 'design' interpretation messages
library(gridExtra)
## realize the plot with unadjusted (left) and ajusted (right) 95\% confidence intervals
plt2a <- superb(
cbind(pre, post) ~ .,
dataFigure2,
WSFactors = "Moment(2)",
adjustments = list(purpose = "difference"),
plotStyle = "line" ) +
xlab("Group") + ylab("Score") +
labs(title="Difference-adjusted\n95% confidence intervals") +
coord_cartesian( ylim = c(85,115) ) +
theme_gray(base_size=10) +
scale_x_discrete(labels=c("1" = "Collaborative games", "2" = "Unstructured activity"))
plt2b <- superb(
cbind(pre, post) ~ .,
dataFigure2,
WSFactors = "Moment(2)",
adjustments = list(purpose = "difference", decorrelation = "CA"), #only difference
plotStyle = "line" ) +
xlab("Group") + ylab("Score") +
labs(title="Correlation and difference-adjusted\n95% confidence intervals") +
coord_cartesian( ylim = c(85,115) ) +
theme_gray(base_size=10) +
scale_x_discrete(labels=c("1" = "Collaborative games", "2" = "Unstructured activity"))
plt2 <- grid.arrange(plt2a,plt2b,ncol=2)
## ----message=FALSE, warning=FALSE, echo=FALSE, fig.width = 4, fig.cap="**Figure 4**. All three decorelation techniques on the same plot along with un-decorrelated error bars"----
# using GRD to generate data with correlation of .8 and 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) )
# the common label to all 4 plots
tlbl <- paste( "(red) Difference-adjusted only\n",
"(blue) Difference adjusted and decorrelated with CM\n",
"(green) Difference-adjusted and decorrelated with LM\n",
"(orange) Difference-adjusted and decorrelated with CA\n",
"(bisque) Difference-adjusted and decorrelated with UA", sep="")
# to make the plots all identical except for the decorrelation method
makeplot <- function(dataset, decorrelationmethod, color, nudge, dir) {
superb(
cbind(DV.1,DV.2,DV.3,DV.4,DV.5) ~ .,
dataset,
WSFactors = "Moment(5)",
adjustments=list(purpose = "difference", decorrelation = decorrelationmethod),
errorbarParams = list(color=color, width= 0.1, position = position_nudge(nudge), direction = dir ),
plotStyle="line" ) +
xlab("Moment") + ylab("Score") +
labs(subtitle=tlbl) +
coord_cartesian( ylim = c(85,115) ) +
theme_gray(base_size=10)
}
theme_transparent <- theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "transparent",colour = NA),
plot.background = element_rect(fill = "transparent",colour = NA)
)
# generate the plots, nudging the error bars and using distinct colors
pltrw <- makeplot(test, "none", "red", 0.0, "both")
pltCM <- makeplot(test, "CM", "blue", -0.2, "left")
pltLM <- makeplot(test, "LM", "chartreuse3", -0.1, "left")
pltCA <- makeplot(test, "CA", "orange", +0.1, "right")
pltUA <- makeplot(test, "UA", "bisque4", +0.2, "right")
# transform the ggplots into "grob" so that they can be manipulated
pltrwg <- ggplotGrob(pltrw)
pltCMg <- ggplotGrob(pltCM + theme_transparent)
pltLMg <- ggplotGrob(pltLM + theme_transparent)
pltCAg <- ggplotGrob(pltCA + theme_transparent)
pltUAg <- ggplotGrob(pltUA + theme_transparent)
# put the grobs onto an empty ggplot
ggplot() +
annotation_custom(grob=pltrwg) +
annotation_custom(grob=pltCMg) +
annotation_custom(grob=pltLMg) +
annotation_custom(grob=pltCAg) +
annotation_custom(grob=pltUAg)
## ----message=FALSE, warning=FALSE, echo=TRUE, fig.width = 4, fig.cap="**Figure 5**. Means and 95% confidence intervals along with individual scores depicted as lines"----
superb(
cbind(pre, post) ~ .,
dataFigure2,
WSFactors = "Moment(2)",
adjustments = list(purpose = "difference", decorrelation = "CM"),
plotStyle = "pointindividualline" ) +
xlab("Group") + ylab("Score") +
labs(subtitle="Correlation- and Difference-adjusted\n95% confidence intervals") +
coord_cartesian( ylim = c(70,150) ) +
theme_bw(base_size=10) +
scale_x_discrete(labels=c("1" = "Collaborative games", "2" = "Unstructured activity"))
## ----message=FALSE, warning=FALSE, echo=TRUE, fig.width = 4, fig.cap="**Figure 5**. Means and 95% confidence intervals along with individual scores depicted as lines"----
superb(
cbind(pre, post) ~ .,
dataFigure2,
WSFactors = "Moment(2)",
adjustments = list(purpose = "difference", decorrelation = "CM"),
plotStyle = "corset",
lineParams = list(colorize=TRUE),
violinParams = list(fill="green", alpha = .2)
) +
xlab("Group") + ylab("Score") +
labs(subtitle="Correlation- and Difference-adjusted\n95% confidence intervals") +
coord_cartesian( ylim = c(70,150) ) +
theme_bw(base_size=10) +
scale_x_discrete(labels=c("1" = "Collaborative games", "2" = "Unstructured activity")) +
scale_color_manual('Direction\n of change', values=c("blue","red"), labels=c('decreasing', 'increasing')) +
theme(legend.position=c(0.5,0.8), panel.border = element_blank(), legend.background = element_blank() )
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.