R/superbToWide.R
superbToWide.Rd
The function suberbToWide()
is an extension to Navarro's WideToLong function
with ample checks to make sure all is legit, so that the data
is suitably organized for suberb
. See (Cousineau et al. 2021)
for more.
Other techniques are available to transform long to wide, but many asked for it within superb
.
superbToWide(
data,
id = NULL,
BSFactors = NULL,
WSFactors = NULL,
variable = NULL
)
Dataframe in long format
A column with unique identifiers per subject
The name(s) of the between-subject factor(s) as string(s)
The name(s) of the within-subject factor(s) as string(s)
The dependent variable as string
A wide-format data frame ready for superbPlot() or superbData(). All other variables will be erased.
Cousineau D, Goulet M, Harding B (2021). “Summary plots with adjusted error bars: The superb framework with an implementation in R.” Advances in Methods and Practices in Psychological Science, 4, 1--18. doi:10.1177/25152459211035109 .
library(ggplot2)
library(gridExtra)
# Example using the built-in dataframe Orange.
superbToWide(Orange, id = "Tree", WSFactors = c("age"), variable = "circumference")
#> Tree circumference_118 circumference_484 circumference_664 circumference_1004
#> 1 1 30 58 87 115
#> 2 2 33 69 111 156
#> 3 3 30 51 75 108
#> 4 4 32 62 112 167
#> 5 5 30 49 81 125
#> circumference_1231 circumference_1372 circumference_1582
#> 1 120 142 145
#> 2 172 203 203
#> 3 115 139 140
#> 4 179 209 214
#> 5 142 174 177
# Optional: change column names to shorten "circumference" to "DV"
names(Orange) <- c("Tree","age","DV")
# turn the data into a wide format
Orange.wide <- superbToWide(Orange, id = "Tree", WSFactors = c("age"), variable = "DV")
# Makes the plots two different way:
p1=superbPlot( Orange.wide, WSFactors = "age(7)",
variables = c("DV_118","DV_484","DV_664","DV_1004","DV_1231","DV_1372","DV_1582"),
adjustments = list(purpose = "difference", decorrelation = "none")
) +
xlab("Age level") + ylab("Trunk diameter (mm)") +
coord_cartesian( ylim = c(0,250) ) + labs(title="Basic confidence intervals")
p2=superbPlot( Orange.wide, WSFactors = "age(7)",
variables = c("DV_118","DV_484","DV_664","DV_1004","DV_1231","DV_1372","DV_1582"),
adjustments = list(purpose = "difference", decorrelation = "CA")
) +
xlab("Age level") + ylab("Trunk diameter (mm)") +
coord_cartesian( ylim = c(0,250) ) + labs(title="Decorrelated confidence intervals")
grid.arrange(p1,p2,ncol=2)