Extracts label information from statistical tests. Useful for labelling plots with test outputs.
Usage
get_pwc_label(stat.test, type = c("expression", "text"))
get_test_label(
stat.test,
description = NULL,
p.col = "p",
type = c("expression", "text"),
correction = c("auto", "GG", "HF", "none"),
row = NULL,
detailed = FALSE
)
create_test_label(
statistic.text,
statistic,
p,
parameter = NA,
description = NULL,
n = NA,
effect.size = NA,
effect.size.text = NA,
type = c("expression", "text"),
detailed = FALSE
)
get_n(stat.test)
get_description(stat.test)Arguments
- stat.test
statistical test results returned by
rstatixfunctions.- type
the label type. Can be one of "text" and "expression". Partial match allowed. If you want to add the label onto a ggplot, it might be useful to specify
type = "expresion".- description
the test description used as the prefix of the label. Examples of description are "ANOVA", "Two Way ANOVA". To remove the default description, specify
description = NULL. If missing, we'll try to guess the statistical test default description.- p.col
character specifying the column containing the p-value. Default is
"p", can be"p.adj".- correction
character, considered only in the case of ANOVA test. Which sphericity correction of the degrees of freedom should be reported for the within-subject factors (repeated measures). The default is set to
"GG"corresponding to the Greenhouse-Geisser correction. Possible values are"GG","HF"(i.e., Hyunh-Feldt correction),"none"(i.e., no correction) and"auto"(apply automatically GG correction if the sphericity assumption is not for within-subject design.- row
numeric, the row index to be considered. If NULL, the last row is automatically considered for ANOVA test.
- detailed
logical value. If TRUE, returns detailed label.
- statistic.text
character specifying the test statistic. For example
statistic.text = "F"(for ANOVA test );statistic.text = "t"(for t-test ).- statistic
the numeric value of a statistic.
- p
the p-value of the test.
- parameter
string containing the degree of freedom (if exists). Default is
NAto accommodate non-parametric tests. For exampleparameter = "1,9"(for ANOVA test. Two parameters exist: DFn and DFd);sparameter = "9"(for t-test ).- n
sample count, example:
n = 10.- effect.size
the effect size value
- effect.size.text
a character specifying the relevant effect size. For example, for
Cohens dstatistic,effect.size.text = "d". You can also use plotmath expression as followquote(italic("d")).
Functions
get_pwc_label(): Extract label from pairwise comparisons.get_test_label(): Extract labels for statistical tests.create_test_label(): Create labels from user specified test results.get_n(): Extracts sample counts (n) from an rstatix test outputs. Returns a numeric vector.get_description(): Extracts the description of an rstatix test outputs. Returns a character vector.
Examples
# Load data
#:::::::::::::::::::::::::::::::::::::::
data("ToothGrowth")
df <- ToothGrowth
# One-way ANOVA test
#:::::::::::::::::::::::::::::::::::::::::
anov <- df %>% anova_test(len ~ dose)
get_test_label(anov, detailed = TRUE, type = "text")
#> [1] "Anova, F(1,58) = 105.06, p = <0.0001, eta2[g] = 0.644, n = 60"
# Two-way ANOVA test
#:::::::::::::::::::::::::::::::::::::::::
anov <- df %>% anova_test(len ~ supp*dose)
get_test_label(anov, detailed = TRUE, type = "text",
description = "Two Way ANOVA")
#> [1] "Two Way ANOVA, F(1,56) = 5.33, p = 0.025, eta2[g] = 0.087, n = 60"
# Kruskal-Wallis test
#:::::::::::::::::::::::::::::::::::::::::
kruskal<- df %>% kruskal_test(len ~ dose)
get_test_label(kruskal, detailed = TRUE, type = "text")
#> [1] "Kruskal-Wallis, X2(2) = 40.67, p = <0.0001, n = 60"
# Wilcoxon test
#:::::::::::::::::::::::::::::::::::::::::
# Unpaired test
wilcox <- df %>% wilcox_test(len ~ supp)
get_test_label(wilcox, detailed = TRUE, type = "text")
#> [1] "Wilcoxon test, W = 575.5, p = 0.064, n = 60"
# Paired test
wilcox <- df %>% wilcox_test(len ~ supp, paired = TRUE)
get_test_label(wilcox, detailed = TRUE, type = "text")
#> [1] "Wilcoxon test, V = 369, p = 0.0038, n = 30"
# T test
#:::::::::::::::::::::::::::::::::::::::::
ttest <- df %>% t_test(len ~ dose)
get_test_label(ttest, detailed = TRUE, type = "text")
#> [[1]]
#> [1] "T test, t(37.99) = -6.48, p = <0.0001, n = 40"
#>
#> [[2]]
#> [1] "T test, t(36.88) = -11.8, p = <0.0001, n = 40"
#>
#> [[3]]
#> [1] "T test, t(37.1) = -4.9, p = <0.0001, n = 40"
#>
# Pairwise comparisons labels
#:::::::::::::::::::::::::::::::::::::::::
get_pwc_label(ttest, type = "text")
#> [1] "pwc: T test; p.adjust: Holm"
# Create test labels
#:::::::::::::::::::::::::::::::::::::::::
create_test_label(
statistic.text = "F", statistic = 71.82,
parameter = "4, 294",
p = "<0.0001",
description = "ANOVA",
type = "text"
)
#> [1] "ANOVA, p = <0.0001"
# Extract infos
#:::::::::::::::::::::::::::::::::::::::::
stat.test <- df %>% t_test(len ~ dose)
get_n(stat.test)
#> [1] 40 40 40
get_description(stat.test)
#> [1] "T test"