td.test <-function(measure, group, alternative = c(), verbose = TRUE) {
group <- droplevels(as.factor(group))
gg <- levels(as.factor(group))
lev <- (as.numeric(as.factor(group)))
g1 <- gg[1]
g2 <- gg[2]
N.g1 <- length(na.omit(measure[group == g1]))
N.g2 <- length(na.omit(measure[group == g2]))
var.res <- var.test(measure ~ group)
if(var.res$p.value < .05) {
var.equal = F
} else {var.equal = T}
if(missing(alternative)) {
t.res <- t.test(measure ~ group, var.equal = var.equal)
} else {
t.res <- t.test(measure ~ group, var.equal = var.equal, alternative = alternative)
}
es <- compute.es::tes(t.res$statistic, N.g1, N.g2, verbose = F)$d
am <- mean(measure[group == g1], na.rm = T)
asd <- sd(measure[group == g1], na.rm = T)
bm <- mean(measure[group == g2], na.rm = T)
bsd <- sd(measure[group == g2], na.rm = T)
a <- paste(as.character(levels(group)[1]),' ',
'(M=',round(am,2),', SD=', round(asd,2),')',
' - N=',N.g1,
sep = '')
b <- paste(as.character(levels(group)[2]),' ',
'(M=',round(bm,2),', SD=', round(bsd,2),')',
' - N=',N.g2,
sep = '')
t <- paste('t-test: ','t(', round(t.res$parameter, 2),')=',round(t.res$statistic,2),', p=', round(t.res$p.value,4), sep = '')
d <- paste('d=', es, sep = '')
v <- paste('var: ','F(', var.res$parameter[1],',',var.res$parameter[2],')=',round(var.res$statistic,2),', p=', round(var.res$p.value,4), sep = '')
if(verbose == F) {
results <- list(
g1 = g1,
N.g1 = N.g1,
mean.1 = am,
sd.1 =asd,
g2 = g2,
N.g2 = N.g2,
mean.2 = bm,
sd.2 =bsd,
var.statistic = var.res$statistic,
var.p.value = var.res$p.value,
t.statistic = t.res$statistic,
t.p.value = t.res$p.value,
effectSize_d = es
)
} else {
cat(paste(a,b,v,t,d, sep = '\n'))
results <- list(
g1 = g1,
N.g1 = N.g1,
mean.1 = am,
sd.1 =asd,
g2 = g2,
N.g2 = N.g2,
mean.2 = bm,
sd.2 =bsd,
var.statistic = var.res$statistic,
var.p.value = var.res$p.value,
t.statistic = t.res$statistic,
t.p.value = t.res$p.value,
effectSize_d = es
)
}
}
# td.test(measure = mtcars$mpg, group = mtcars$vs.F, verbose = T)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.