Version: | 2.0.8 |
Title: | Create American Psychological Association (APA) Style Tables |
Description: | A common task faced by researchers is the creation of APA style (i.e., American Psychological Association style) tables from statistical output. In R a large number of function calls are often needed to obtain all of the desired information for a single APA style table. As well, the process of manually creating APA style tables in a word processor is prone to transcription errors. This package creates Word files (.doc files) containing APA style tables for several types of analyses. Using this package minimizes transcription errors and reduces the number commands needed by the user. |
URL: | https://github.com/dstanley4/apaTables |
BugReports: | https://github.com/dstanley4/apaTables/issues |
Depends: | R (≥ 3.1.2) |
Imports: | stats, utils, methods, car, broom, dplyr, boot, tibble, MBESS |
Suggests: | testthat, knitr |
RoxygenNote: | 7.1.1 |
License: | MIT License + file LICENSE |
LazyData: | true |
Date: | 2020-12-18 |
NeedsCompilation: | no |
Packaged: | 2020-12-18 16:05:46 UTC; dstanley |
Author: | David Stanley [aut, cre] |
Maintainer: | David Stanley <dstanley@uoguelph.ca> |
Repository: | CRAN |
Date/Publication: | 2021-01-04 19:00:02 UTC |
Eysenck data
Description
A data set from Howell (2012)
Usage
data(Eysenck)
Format
A data frame with 100 rows and 3 variables:
- Age
Young or Old
- Condition
Experimental learning condition
- Recall
Level of word recall
Source
https://www.uvm.edu/~statdhtx/methods8/DataFiles/Tab13-2.dat
References
Howell, D. (2012). Statistical methods for psychology. Cengage Learning.
album data from textbook
Description
A data set from Field et al (2012)
Usage
data(album)
Format
A data frame with 200 rows and 4 variables:
- adverts
Amount spent of adverts, thousands of pounds
- sales
Album sales in thousands
- airplay
Number of times songs from album played on radio week prior to release
- attract
Attractiveness rating of band members
Source
https://studysites.sagepub.com/dsur/study/
References
Field, A., Miles, J., & Field, Z. (2012) Discovering Statistics Using R. Sage: Chicago.
Creates a table of means and standard deviations for a 1-way ANOVA design in APA style
Description
Creates a table of means and standard deviations for a 1-way ANOVA design in APA style
Usage
apa.1way.table(
iv,
dv,
data,
filename = NA,
table.number = NA,
show.conf.interval = FALSE,
landscape = FALSE
)
Arguments
iv |
Name of independent variable column in data frame |
dv |
Name of dependent variable column in data frame |
data |
Project data frame name |
filename |
(optional) Output filename document filename (must end in .rtf or .doc only) |
table.number |
Integer to use in table number output line |
show.conf.interval |
(TRUE/FALSE) Display confidence intervals in table. |
landscape |
(TRUE/FALSE) Make RTF file landscape |
Value
APA table object
Examples
## Not run:
# Example 1: 1-way from Field et al. (2012) Discovery Statistics Using R
apa.1way.table(iv=dose,dv=libido,data=viagra,filename="ex1_desc_table.doc")
## End(Not run)
Creates a table of means and standard deviations for a 2-way ANOVA design in APA style
Description
Creates a table of means and standard deviations for a 2-way ANOVA design in APA style
Usage
apa.2way.table(
iv1,
iv2,
dv,
data,
filename = NA,
table.number = NA,
show.conf.interval = FALSE,
show.marginal.means = FALSE,
landscape = TRUE
)
Arguments
iv1 |
Name of independent variable 1 column in data frame |
iv2 |
Name of independent variable 2 column in data frame |
dv |
Name of dependent variable column in data frame |
data |
Project data frame name |
filename |
(optional) Output filename document filename (must end in .rtf or .doc only) |
table.number |
Integer to use in table number output line |
show.conf.interval |
(TRUE/FALSE) Display confidence intervals in table. Negates show.marginal.means = TRUE. |
show.marginal.means |
(TRUE/FALSE) Show marginal means in output. Only used if show.conf.interval = FALSE. |
landscape |
(TRUE/FALSE) Make RTF file landscape |
Value
APA table object
Examples
## Not run:
# Example 2: 2-way from Fidler & Thompson (2001)
apa.2way.table(iv1=a,iv2=b,dv=dv,data=fidler_thompson,landscape=TRUE, filename="ex2_desc_table.doc")
# Example 3: 2-way from Field et al. (2012) Discovery Statistics Using R
apa.2way.table(iv1=gender,iv2=alcohol,dv=attractiveness,data=goggles,filename="ex3_desc_table.doc")
## End(Not run)
Creates a fixed-effects ANOVA table in APA style
Description
Creates a fixed-effects ANOVA table in APA style
Usage
apa.aov.table(
lm_output,
filename,
table.number = NA,
conf.level = 0.9,
type = 3
)
Arguments
lm_output |
Regression (i.e., lm) result objects. Typically, one for each block in the regression. |
filename |
(optional) Output filename document filename (must end in .rtf or .doc only) |
table.number |
Integer to use in table number output line |
conf.level |
Level of confidence for interval around partial eta-squared (.90 or .95). A value of .90 is the default, this helps to create consistency between the CI overlapping with zero and conclusions based on the p-value. |
type |
Sum of Squares Type. Type II or Type III; specify, 2 or 3, respectively. Default value is 3. |
Value
APA table object
References
Smithson, M. (2001). Correct confidence intervals for various regression effect sizes and parameters: The importance of noncentral distributions in computing intervals. Educational and Psychological Measurement, 61(4), 605-632.
Fidler, F., & Thompson, B. (2001). Computing correct confidence intervals for ANOVA fixed-and random-effects effect sizes. Educational and Psychological Measurement, 61(4), 575-604.
Examples
## Not run:
#Example 1: 1-way from Field et al. (2012) Discovery Statistics Using R
options(contrasts = c("contr.helmert", "contr.poly"))
lm_output <- lm(libido ~ dose, data = viagra)
apa.aov.table(lm_output, filename = "ex1_anova_table.doc")
# Example 2: 2-way from Fidler & Thompson (2001)
# You must set these contrasts to ensure values match SPSS
options(contrasts = c("contr.helmert", "contr.poly"))
lm_output <- lm(dv ~ a*b, data = fidler_thompson)
apa.aov.table(lm_output,filename = "ex2_anova_table.doc")
#Example 3: 2-way from Field et al. (2012) Discovery Statistics Using R
# You must set these contrasts to ensure values match SPSS
options(contrasts = c("contr.helmert", "contr.poly"))
lm_output <- lm(attractiveness ~ gender*alcohol, data = goggles)
apa.aov.table(lm_output, filename = "ex3_anova_table.doc")
## End(Not run)
Creates a correlation table in APA style with means and standard deviations
Description
Creates a correlation table in APA style with means and standard deviations
Usage
apa.cor.table(
data,
filename = NA,
table.number = NA,
show.conf.interval = TRUE,
show.sig.stars = TRUE,
landscape = TRUE
)
Arguments
data |
Project data frame |
filename |
(optional) Output filename document filename (must end in .rtf or .doc only) |
table.number |
Integer to use in table number output line |
show.conf.interval |
(TRUE/FALSE) Display confidence intervals in table. This argument is deprecated and will be removed from later versions. |
show.sig.stars |
(TRUE/FALSE) Display stars for significance in table. |
landscape |
(TRUE/FALSE) Make RTF file landscape |
Value
APA table object
Examples
## Not run:
# View top few rows of attitude data set
head(attitude)
# Use apa.cor.table function
apa.cor.table(attitude)
apa.cor.table(attitude, filename="ex.CorTable1.doc")
## End(Not run)
Creates a d-values for all paired comparisons in APA style
Description
Creates a d-values for all paired comparisons in APA style
Usage
apa.d.table(
iv,
dv,
data,
filename = NA,
table.number = NA,
show.conf.interval = TRUE,
landscape = TRUE
)
Arguments
iv |
Name of independent variable column in data frame for all paired comparisons |
dv |
Name of dependent variable column in data frame for all paired comparisons |
data |
Project data frame name |
filename |
(optional) Output filename document filename (must end in .rtf or .doc only) |
table.number |
Integer to use in table number output line |
show.conf.interval |
(TRUE/FALSE) Display confidence intervals in table. This argument is deprecated and will be removed from later versions. |
landscape |
(TRUE/FALSE) Make RTF file landscape |
Value
APA table object
Examples
## Not run:
# View top few rows of viagra data set from Discovering Statistics Using R
head(viagra)
# Use apa.d.table function
apa.d.table(iv = dose, dv = libido, data = viagra, filename = "ex1_d_table.doc")
## End(Not run)
Creates an ANOVA table in APA style based output of ezANOVA command from ez package
Description
Creates an ANOVA table in APA style based output of ezANOVA command from ez package
Usage
apa.ezANOVA.table(
ez.output,
correction = "GG",
table.title = "",
filename,
table.number = NA
)
Arguments
ez.output |
Output object from ezANOVA command from ez package |
correction |
Type of sphercity correction: "none", "GG", or "HF" corresponding to none, Greenhouse-Geisser and Huynh-Feldt, respectively. |
table.title |
String containing text for table title |
filename |
(optional) Output filename document filename (must end in .rtf or .doc only) |
table.number |
Integer to use in table number output line |
Value
APA table object
Examples
## Not run:
# ** Example 1: Between Participant Predictors
#
library(apaTables)
library(ez)
# See format where one row represents one PERSON
# Note that participant, gender, and alcohol are factors
print(goggles)
# Use ezANOVA
# Be sure use the options command, as below, to ensure sufficient digits
options(digits = 10)
goggles_results <- ezANOVA(data = goggles,
dv = attractiveness,
between = .(gender, alcohol),
participant ,
detailed = TRUE)
# Make APA table
goggles_table <- apa.ezANOVA.table(goggles_results,
filename="ex1_ez_independent.doc")
print(goggles_table)
#
# ** Example 2: Within Participant Predictors
#
library(apaTables)
library(tidyr)
library(forcats)
library(ez)
# See initial wide format where one row represents one PERSON
print(drink_attitude_wide)
# Convert data from wide format to long format where one row represents one OBSERVATION.
# Wide format column names MUST represent levels of each variable separated by an underscore.
# See vignette for further details.
drink_attitude_long <- gather(data = drink_attitude_wide,
key = cell, value = attitude,
beer_positive:water_neutral,
factor_key=TRUE)
drink_attitude_long <- separate(data = drink_attitude_long,
col = cell, into = c("drink","imagery"),
sep = "_", remove = TRUE)
drink_attitude_long$drink <- as_factor(drink_attitude_long$drink)
drink_attitude_long$imagery <- as_factor(drink_attitude_long$imagery)
# See new long format of data, where one row is one OBSERVATION.
# As well, notice that we have two columns (drink, imagery)
# drink, imagery, and participant are factors
print(drink_attitude_long)
# Set contrasts to match Field et al. (2012) textbook output
alcohol_vs_water <- c(1, 1, -2)
beer_vs_wine <- c(-1, 1, 0)
negative_vs_other <- c(1, -2, 1)
positive_vs_neutral <- c(-1, 0, 1)
contrasts(drink_attitude_long$drink) <- cbind(alcohol_vs_water, beer_vs_wine)
contrasts(drink_attitude_long$imagery) <- cbind(negative_vs_other, positive_vs_neutral)
# Use ezANOVA
# Be sure use the options command, as below, to ensure sufficient digits
options(digits = 10)
drink_attitude_results <- ezANOVA(data = drink_attitude_long,
dv = .(attitude), wid = .(participant),
within = .(drink, imagery),
type = 3, detailed = TRUE)
# Make APA table
drink_table <- apa.ezANOVA.table(drink_attitude_results,
filename="ex2_repeated_table.doc")
print(drink_table)
#
# ** Example 3: Between and Within Participant Predictors
#
library(apaTables)
library(tidyr)
library(forcats)
library(ez)
# See initial wide format where one row represents one PERSON
print(dating_wide)
# Convert data from wide format to long format where one row represents one OBSERVATION.
# Wide format column names MUST represent levels of each variable separated by an underscore.
# See vignette for further details.
dating_long <- gather(data = dating_wide,
key = cell, value = date_rating,
attractive_high:ugly_none,
factor_key = TRUE)
dating_long <- separate(data = dating_long,
col = cell, into = c("looks","personality"),
sep = "_", remove = TRUE)
dating_long$looks <- as_factor(dating_long$looks)
dating_long$personality <- as_factor(dating_long$personality)
# See new long format of data, where one row is one OBSERVATION.
# As well, notice that we have two columns (looks, personality)
# looks, personality, and participant are factors
print(dating_long)
# Set contrasts to match Field et al. (2012) textbook output
some_vs_none <- c(1, 1, -2)
hi_vs_av <- c(1, -1, 0)
attractive_vs_ugly <- c(1, 1, -2)
attractive_vs_average <- c(1, -1, 0)
contrasts(dating_long$personality) <- cbind(some_vs_none, hi_vs_av)
contrasts(dating_long$looks) <- cbind(attractive_vs_ugly, attractive_vs_average)
# Use ezANOVA
library(ez)
options(digits = 10)
dating_results <-ezANOVA(data = dating_long, dv = .(date_rating), wid = .(participant),
between = .(gender), within = .(looks, personality),
type = 3, detailed = TRUE)
# Make APA table
dating_table <- apa.ezANOVA.table(dating_results,
filename = "ex3_mixed_table.doc")
print(dating_table)
## End(Not run)
Creates a regresion table in APA style with bootstrap confidence intervals
Description
Creates a regresion table in APA style with bootstrap confidence intervals
Usage
apa.reg.boot.table(
...,
filename = NA,
table.number = NA,
number.samples = 1000
)
Arguments
... |
Regression (i.e., lm) result objects. Typically, one for each block in the regression. |
filename |
(optional) Output filename document filename (must end in .rtf or .doc only) |
table.number |
Integer to use in table number output line |
number.samples |
Number of samples to create for bootstrap CIs |
Value
APA table object
References
Algina, J. Keselman, H.J. & Penfield, R.J. (2008). Note on a confidence interval for the squared semipartial correlation coefficient. Educational and Psychological Measurement, 68, 734-741.
Examples
## Not run:
#Note: number.samples = 50 below.
# However, please use a value of 1000 or higher
# View top few rows of goggles data set
# from Discovering Statistics Using R
set.seed(1)
head(album)
# Single block example
blk1 <- lm(sales ~ adverts + airplay, data=album)
apa.reg.boot.table(blk1)
apa.reg.boot.table(blk1,filename="exRegTable.doc")
# Two block example, more than two blocks can be used
blk1 <- lm(sales ~ adverts, data=album)
blk2 <- lm(sales ~ adverts + airplay + attract, data=album)
apa.reg.boot.table(blk1,blk2,filename="exRegBlocksTable.doc")
# Interaction product-term test with blocks
blk1 <- lm(sales ~ adverts + airplay, data=album)
blk2 <- lm(sales ~ adverts + airplay + I(adverts * airplay), data=album)
apa.reg.boot.table(blk1,blk2,filename="exInteraction1.doc")
## End(Not run)
Creates a regresion table in APA style
Description
Creates a regresion table in APA style
Usage
apa.reg.table(
...,
filename = NA,
table.number = NA,
prop.var.conf.level = 0.95
)
Arguments
... |
Regression (i.e., lm) result objects. Typically, one for each block in the regression. |
filename |
(optional) Output filename document filename (must end in .rtf or .doc only) |
table.number |
Integer to use in table number output line |
prop.var.conf.level |
Level of confidence (.90 or .95, default .95) for interval around sr2, R2, and Delta R2. Use of .90 confidence level helps to create consistency between the CI overlapping with zero and conclusions based on the p-value for that block (or block difference). |
Value
APA table object
References
sr2 and delta R2 confidence intervals calculated via:
Alf Jr, E. F., & Graf, R. G. (1999). Asymptotic confidence limits for the difference between two squared multiple correlations: A simplified approach. Psychological Methods, 4(1), 70.
Note that Algina, Keselman, & Penfield (2008) found this approach can under some circumstances lead to inaccurate CIs on proportion of variance values. You might consider using the Algina, Keselman, & Penfield (2008) approach via the apa.reg.boot.table function
Examples
## Not run:
# View top few rows of goggles data set
# from Discovering Statistics Using R
head(album)
# Single block example
blk1 <- lm(sales ~ adverts + airplay, data=album)
apa.reg.table(blk1)
apa.reg.table(blk1,filename="exRegTable.doc")
# Two block example, more than two blocks can be used
blk1 <- lm(sales ~ adverts, data=album)
blk2 <- lm(sales ~ adverts + airplay + attract, data=album)
apa.reg.table(blk1,blk2,filename="exRegBlocksTable.doc")
# Interaction product-term test with blocks
blk1 <- lm(sales ~ adverts + airplay, data=album)
blk2 <- lm(sales ~ adverts + airplay + I(adverts * airplay), data=album)
apa.reg.table(blk1,blk2,filename="exInteraction1.doc")
# Interaction product-term test with blocks and additional product terms
blk1<-lm(sales ~ adverts + airplay, data=album)
blk2<-lm(sales ~ adverts + airplay + I(adverts*adverts) + I(airplay*airplay), data=album)
blk3<-lm(sales~adverts+airplay+I(adverts*adverts)+I(airplay*airplay)+I(adverts*airplay),data=album)
apa.reg.table(blk1,blk2,blk3,filename="exInteraction2.doc")
#Interaction product-term test with single regression (i.e., semi-partial correlation focus)
blk1 <- lm(sales ~ adverts + airplay + I(adverts * airplay), data=album)
apa.reg.table(blk1,filename="exInteraction3.doc")
## End(Not run)
Create American Psychological Association (APA) Style Tables
Description
A common task faced by researchers is the creation of APA style (i.e., American Psychological Association style) tables from statistical output. In R a large number of function calls are often needed to obtain all of the desired information for a single APA style table. As well, the process of manually creating APA style tables in a word processor is prone to transcription errors. This package creates Word files (.doc files) containing APA style tables for several types of analyses. Using this package minimizes transcription errors and reduces the number commands needed by the user. Examples are provided in this documentation and at http://www.StatsCanBeFun.com.
Details
Bugs and feature requests can be reported at: https://github.com/dstanley4/apaTables/issues
Tutorial at: https://dstanley4.github.io/apaTables/articles/apaTables.html
Currently, the following tables can be created:
Correlation tables - Correlation tables (with confidence intervals and descriptive statistics) are created from data frames using
apa.cor.table
.Single "block" regression tables - Single "block" regression tables are created from a regression object using
apa.reg.table
.Multiple "block" regression tables - Multiple "block" regression tables are created from regression objects using
apa.reg.table
.ANOVA tables - An ANOVA F-table can be created via
apa.aov.table
from a regression object (i.e. lm output or aov output). Cell mean/standard deviation tables for 1- and 2-way designs are created from data frames usingapa.1way.table
andapa.2way.table
.ezANOVA tables from ez package - An ANOVA F-table from ezANOVA output can be created via
apa.ezANOVA.table
.Standardized mean difference (i.e., d-value) tables (with confidence intervals and descriptive statistics) illustrating all possible paired comparisons using a single independent variable are created from data frames using
apa.d.table
.
Package: | apaTables |
Type: | Package |
Version: | 2.0.8 |
Date: | 2020-12-18 |
License: | MIT |
Author(s)
Author: | David J. Stanley dstanley@uoguelph.ca |
Maintainer: | David J. Stanley dstanley@uoguelph.ca |
dating data from textbook
Description
A data set from Field et al (2012)
Usage
data(dating_wide)
Format
A data frame with 20 rows and 11 columns. Gender is a between subjects variable. Looks and Personality are within subject variables. Both gender and particpant are factors.
- participant
Factor: Participant ID number
- gender
Factor: Gender: Male/Female
- attractive_high
Date rating where looks=attractive and personality=high
- average_high
Date rating where looks=average and personality=high
- ugly_high
Date rating where looks=ugly and personality=high
- attractive_some
Date rating where looks=attractive and personality=some
- average_some
Date rating where looks=average and personality=some
- ugly_some
Date rating where looks=ugly and personality=some
- attractive_none
Date rating where looks=attractive and personality=none
- average_none
Date rating where looks=average and personality=none
- ugly_none
Date rating where looks=ugly and personality=none
Source
https://studysites.sagepub.com/dsur/study/
References
Field, A., Miles, J., & Field, Z. (2012) Discovering Statistics Using R. Sage: Chicago.
drink attitude data from textbook
Description
A data set from Field et al (2012)
Usage
data(drink_attitude_wide)
Format
A data frame with 20 rows and 10 columns. Drink and Imagery are within subject variables. Particpant is a factor.
- participant
Factor: Participant ID number
- beer_positive
Attitude where drink=beer and imagery=positive
- beer_negative
Attitude where drink=beer and imagery=negative
- beer_neutral
Attitude where drink=beer and imagery=neutral
- wine_positive
Attitude where drink=wine and imagery=positive
- wine_negative
Attitude where drink=wine and imagery=negative
- wine_neutral
Attitude where drink=wine and imagery=neutral
- water_positive
Attitude where drink=water and imagery=positive
- water_negative
Attitude where drink=water and imagery=negative
- water_neutral
Attitude where drink=water and imagery=neutral
Source
https://studysites.sagepub.com/dsur/study/
References
Field, A., Miles, J., & Field, Z. (2012) Discovering Statistics Using R. Sage: Chicago.
Fidler & Thompson (2001) Fixed-Effects ANOVA data
Description
A data set from Fidler & Thompson (2001)
Usage
data(fidler_thompson)
Format
A data frame with 24 rows and 3 variables:
- a
Independent variable: a
- b
Independent variable: b
- dv
Dependent variable: dv
References
Fidler, F. & Thompson, B. (2001). Computing correct confidence intervals for ANOVA fixed- and random-effects effect sizes. Educational and Psychological Measurement, 61, 575-604.
Calculates confidence interval for partial eta-squared in a fixed-effects ANOVA
Description
Calculates confidence interval for partial eta-squared in a fixed-effects ANOVA
Usage
get.ci.partial.eta.squared(F.value, df1, df2, conf.level = 0.9)
Arguments
F.value |
The F-value for the fixed-effect |
df1 |
Degrees of freedom for the fixed-effect |
df2 |
Degrees of freedom error |
conf.level |
Confidence level (0 to 1). For partial eta-squared a confidence level of .90 is traditionally used rather than .95. |
Value
List with confidence interval values (LL and UL)
Examples
# Smithson (2001) p. 619
get.ci.partial.eta.squared(F.value=6.00, df1=1, df2=42, conf.level=.90)
get.ci.partial.eta.squared(F.value=2.65, df1=6, df2=42, conf.level=.90)
get.ci.partial.eta.squared(F.value=2.60, df1=6, df2=42, conf.level=.90)
# Fidler & Thompson (2001) Fixed Effects 2x4 p. 594 (Table 6) / p. 596 (Table 8)
get.ci.partial.eta.squared(F.value=1.50, df1=1, df2=16, conf.level=.90)
get.ci.partial.eta.squared(F.value=4.00, df1=3, df2=16, conf.level=.90)
get.ci.partial.eta.squared(F.value=1.50, df1=3, df2=16, conf.level=.90)
goggles data from textbook
Description
A data set from Field et al (2012)
Usage
data(goggles)
Format
A data frame with 48 rows and 3 variables:
- participant
Participant identification number
- gender
Gender of participant
- alcohol
Amount alcohol consumed
- attractiveness
Perceived attractiveness
Source
https://studysites.sagepub.com/dsur/study/
References
Field, A., Miles, J., & Field, Z. (2012) Discovering Statistics Using R. Sage: Chicago.
viagra data from textbook
Description
A data set from Field et al (2012)
Usage
data(viagra)
Format
A data frame with 15 rows and 2 variables:
- dose
Level of viagra dose
- libido
Libido after taking viagra
Source
https://studysites.sagepub.com/dsur/study/
References
Field, A., Miles, J., & Field, Z. (2012) Discovering Statistics Using R. Sage: Chicago.