Skip to content

Commit

Permalink
version 0.1.4
Browse files Browse the repository at this point in the history
  • Loading branch information
dcousin3 committed Nov 30, 2024
1 parent 7618dea commit 1c888e5
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 24 deletions.
48 changes: 25 additions & 23 deletions R/ANOPA-anopa.R
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ anopa <- function(
WSDesign <- data.frame()
compData <- NULL
countCol <- "n"
alphaCol <- "uAlpha"


# 3.2: Convert data to wide format based on the format as infered from the formula
Expand All @@ -242,6 +243,7 @@ anopa <- function(
WSFactors <- cleanedWSF[[1]]
WSLevels <- cleanedWSF[[2]]
countCol <- paste(formula[[2]][[3]])
alphaCol <- paste(formula[[2]][[4]])

compData <- data # data are in compiled format
wideData <- lapply(1:(dim(data)[1]), doONEline,
Expand Down Expand Up @@ -375,10 +377,10 @@ anopa <- function(

# 4.4: perform the analysis based on the number of factors
analysis <- switch( length(allFactors),
anopa1way(compData, DVvars, countCol, BSFactors, WSFactors, WSLevels),
anopa2way(compData, DVvars, countCol, BSFactors, WSFactors, WSLevels),
anopa3way(compData, DVvars, countCol, BSFactors, WSFactors, WSLevels),
anopa4way(compData, DVvars, countCol, BSFactors, WSFactors, WSLevels)
anopa1way(compData, DVvars, countCol, alphaCol, BSFactors, WSFactors, WSLevels),
anopa2way(compData, DVvars, countCol, alphaCol, BSFactors, WSFactors, WSLevels),
anopa3way(compData, DVvars, countCol, alphaCol, BSFactors, WSFactors, WSLevels),
anopa4way(compData, DVvars, countCol, alphaCol, BSFactors, WSFactors, WSLevels)
)


Expand Down Expand Up @@ -610,18 +612,18 @@ hmean <- function(v) (length(v)/ sum(1/v))
##############################################################################


anopa1way <- function( cData, ss, n, bsfacts, wsfacts, unneeded ) {
anopa1way <- function( cData, ss, ncol, acol, bsfacts, wsfacts, unneeded ) {
# One-way ANOPA (either within- or between-subject design)
# The observations are compiled into success (s) and number (n) per group and uAlpha when relevant

if (length(wsfacts) == 1) { # within-subject design
s <- cData[ss]
n <- rep(cData[[n]], length(ss))
n <- rep(cData[[ncol]], length(ss))
facts <- wsfacts
corlt <- cData[["uAlpha"]]
corlt <- cData[[acol]]
} else { # between-subject design
s <- cData[[ss]]
n <- cData[[n]]
n <- cData[[ncol]]
facts <- bsfacts
corlt <- 0
}
Expand Down Expand Up @@ -661,26 +663,26 @@ anopa1way <- function( cData, ss, n, bsfacts, wsfacts, unneeded ) {
}


anopa2way <- function( cData, ss, n, bsfacts, wsfacts, wslevls ) {
anopa2way <- function( cData, ss, ncol, acol, bsfacts, wsfacts, wslevls ) {
# Two-way ANOPA (within, between, or mixed design)
# the observations are compiled into success (s) and number (n) per group and uAlpha when relevant
#print("Begin anopa2way")

if (length(wsfacts) == 2) { # both within-subject factors
s <- cData[ss]
n <- rep(cData[[n]], length(ss))
corlt <- cData[["uAlpha"]]
n <- rep(cData[[ncol]], length(ss))
corlt <- cData[[acol]]
facts <- wsfacts
f1levl <- wslevls[2]
} else if (length(wsfacts) == 1) { # mixed, within-between, design
s <- unlist(cData[ss]) # i.e., flatten
n <- rep(cData[[n]], length(ss))
corlt <- rep(cData[["uAlpha"]], wslevls[1])
n <- rep(cData[[ncol]], length(ss))
corlt <- rep(cData[[acol]], wslevls[1])
facts <- c(wsfacts, bsfacts)
f1levl <- wslevls
} else { # both between-subject factors
s <- cData[[ss]]
n <- cData[[n]]
n <- cData[[ncol]]
corlt <- 0
facts <- bsfacts
f1levl <- length(unique(cData[[bsfacts[1]]]))
Expand Down Expand Up @@ -761,14 +763,14 @@ anopa2way <- function( cData, ss, n, bsfacts, wsfacts, wslevls ) {
}


anopa3way <- function( cData, ss, n, bsfacts, wsfacts, wslevls ) {
anopa3way <- function( cData, ss, ncol, acol, bsfacts, wsfacts, wslevls ) {
# Three-way ANOPA (any design with within or between subject factors)
# the observations are compiled into success (s) and number (n) per group and uAlpha when relevant

if (length(wsfacts) == 3) { # entirely within-subject factors
s <- cData[ss]
n <- rep(cData[[n]], length(ss))
corlt <- cData[["uAlpha"]]
n <- rep(cData[[ncol]], length(ss))
corlt <- cData[[acol]]
facts <- wsfacts
lvlp <- 1:wslevls[1] # first is always within
lvlq <- 1:wslevls[2]
Expand All @@ -779,8 +781,8 @@ anopa3way <- function( cData, ss, n, bsfacts, wsfacts, wslevls ) {

} else if (length(wsfacts) == 2) { # mixed, 2 within-subject factors
s <- cData[ss]
n <- rep(cData[[n]], length(ss))
corlt <- cData[["uAlpha"]]
n <- rep(cData[[ncol]], length(ss))
corlt <- cData[[acol]]
facts <- c(wsfacts, bsfacts)
lvlp <- 1:wslevls[1]
lvlq <- 1:wslevls[2]
Expand All @@ -792,8 +794,8 @@ anopa3way <- function( cData, ss, n, bsfacts, wsfacts, wslevls ) {

} else if (length(wsfacts) == 1) { # mixed, 1 within-subject factor
s <- c(t(cData[ss])) # i.e., flatten
n <- rep(cData[[n]], length(ss))
corlt <- rep(cData[["uAlpha"]], wslevls[1])
n <- rep(cData[[ncol]], length(ss))
corlt <- rep(cData[[acol]], wslevls[1])

facts <- c(wsfacts, bsfacts)
lvlp <- 1:wslevls[1]
Expand All @@ -806,7 +808,7 @@ anopa3way <- function( cData, ss, n, bsfacts, wsfacts, wslevls ) {

} else { # entirely between-subject factors
s <- cData[[ss]]
n <- cData[[n]]
n <- cData[[ncol]]
corlt <- 0
facts <- bsfacts
lvlp <- unique(cData[[bsfacts[1]]])
Expand Down Expand Up @@ -934,7 +936,7 @@ anopa3way <- function( cData, ss, n, bsfacts, wsfacts, wslevls ) {
}


anopa4way <- function( cData, ss, n, bsfacts, wsfacts, wslevls ) {
anopa4way <- function( cData, ss, ncol, acol, bsfacts, wsfacts, wslevls ) {

return("Not programmed so far. Contact Denis Cousineau if needed.")

Expand Down
2 changes: 1 addition & 1 deletion docs/pkgdown.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ articles:
D-ArringtonExample: D-ArringtonExample.html
E-ArcsineIsAsinine: E-ArcsineIsAsinine.html
F-TestingTypeIError: F-TestingTypeIError.html
last_built: 2024-11-27T04:47Z
last_built: 2024-11-30T03:18Z
urls:
reference: https://dcousin3.github.io/ANOPA/reference
article: https://dcousin3.github.io/ANOPA/articles
Expand Down
Binary file modified docs/reference/ArticleExample3-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1c888e5

Please sign in to comment.