Performs pairwise comparisons between groups using the estimated
marginal means. Pipe-friendly wrapper arround the functions emmans() +
contrast()
from the emmeans
package, which need to be installed
before using this function. This function is useful for performing post-hoc
analyses following ANOVA/ANCOVA tests.
emmeans_test(
data,
formula,
covariate = NULL,
ref.group = NULL,
comparisons = NULL,
p.adjust.method = "bonferroni",
conf.level = 0.95,
model = NULL,
detailed = FALSE
)get_emmeans(emmeans.test)
return a data frame with some the following columns:
.y.
: the y variable used in the test.
group1,group2
: the
compared groups in the pairwise tests.
statistic
: Test
statistic (t.ratio) used to compute the p-value.
df
: degrees of
freedom.
p
: p-value.
p.adj
: the adjusted p-value.
method
: the statistical test used to compare groups.
p.signif, p.adj.signif
: the significance level of p-values and
adjusted p-values, respectively.
estimate
: estimate of the
effect size, that is the difference between the two emmeans (estimated
marginal means).
conf.low,conf.high
: Lower and upper bound on a
confidence interval of the estimate.
The returned object has an attribute called args, which is a list holding the test arguments. It has also an attribute named "emmeans", a data frame containing the groups emmeans.
a data.frame containing the variables in the formula.
a formula of the form x ~ group
where x
is a
numeric variable giving the data values and group
is a factor with
one or multiple levels giving the corresponding groups. For example,
formula = TP53 ~ cancer_group
.
(optional) covariate names (for ANCOVA)
a character string specifying the reference group. If specified, for a given grouping variable, each of the group levels will be compared to the reference group (i.e. control group).
If ref.group = "all"
, pairwise two sample tests are performed for
comparing each grouping variable levels against all (i.e. basemean).
A list of length-2 vectors specifying the groups of
interest to be compared. For example to compare groups "A" vs "B" and "B" vs
"C", the argument is as follow: comparisons = list(c("A", "B"), c("B",
"C"))
method to adjust p values for multiple comparisons. Used when pairwise comparisons are performed. Allowed values include "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none". If you don't want to adjust the p value (not recommended), use p.adjust.method = "none".
confidence level of the interval.
a fitted-model objects such as the result of a call to
lm()
, from which the overall degrees of
freedom are to be calculated.
logical value. Default is FALSE. If TRUE, a detailed result is shown.
an object of class emmeans_test
.
get_emmeans
: returns the estimated marginal means from an object of class emmeans_test
# Data preparation
df <- ToothGrowth
df$dose <- as.factor(df$dose)
# Pairwise comparisons
res <- df %>%
group_by(supp) %>%
emmeans_test(len ~ dose, p.adjust.method = "bonferroni")
res
# Display estimated marginal means
attr(res, "emmeans")
# Show details
df %>%
group_by(supp) %>%
emmeans_test(len ~ dose, p.adjust.method = "bonferroni", detailed = TRUE)
Run the code above in your browser using DataLab