File: compare_means.Rd

package info (click to toggle)
r-cran-ggpubr 0.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 3,240 kB
  • sloc: makefile: 2
file content (130 lines) | stat: -rw-r--r-- 4,823 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/compare_means.R
\name{compare_means}
\alias{compare_means}
\title{Comparison of Means}
\usage{
compare_means(
  formula,
  data,
  method = "wilcox.test",
  paired = FALSE,
  group.by = NULL,
  ref.group = NULL,
  symnum.args = list(),
  p.adjust.method = "holm",
  ...
)
}
\arguments{
\item{formula}{a formula of the form \code{x ~ group} where \code{x} is a
 numeric variable giving the data values and \code{group} is a factor with
 one or multiple levels giving the corresponding groups. For example,
 \code{formula = TP53 ~ cancer_group}.

 It's also possible to perform the test for multiple response variables at
 the same time. For example, \code{formula = c(TP53, PTEN) ~ cancer_group}.}

\item{data}{a data.frame containing the variables in the formula.}

\item{method}{the type of test. Default is \link[stats]{wilcox.test}. Allowed
values include: \itemize{ \item \code{\link[stats]{t.test}} (parametric) and
\code{\link[stats]{wilcox.test}} (non-parametric). Perform comparison
between two groups of samples. If the grouping variable contains more than
two levels, then a pairwise comparison is performed. \item
\code{\link[stats]{anova}} (parametric) and
\code{\link[stats]{kruskal.test}} (non-parametric). Perform one-way ANOVA
test comparing multiple groups. }}

\item{paired}{a logical indicating whether you want a paired test. Used only
in \code{\link[stats]{t.test}} and in \link[stats]{wilcox.test}.}

\item{group.by}{a character vector containing the name of grouping variables.}

\item{ref.group}{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).

 \code{ref.group} can be also \code{".all."}. In this case, each of the
 grouping variable levels is compared to all (i.e. basemean).}

\item{symnum.args}{a list of arguments to pass to the function
 \code{\link[stats]{symnum}} for symbolic number coding of p-values. For
 example, \code{symnum.args <- list(cutpoints = c(0, 0.0001, 0.001,
 0.01, 0.05, Inf), symbols = c("****", "***", "**", "*",  "ns"))}.

 In other words, we use the following convention for symbols indicating
 statistical significance: \itemize{ \item \code{ns}: p > 0.05 \item
 \code{*}: p <= 0.05 \item \code{**}: p <= 0.01 \item \code{***}: p <= 0.001 \item \code{****}:  p <= 0.0001 }}

\item{p.adjust.method}{method for adjusting p values (see
 \code{\link[stats]{p.adjust}}). Has impact only in a situation, where
 multiple pairwise tests are performed; or when there are multiple grouping
 variables. 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".

 Note that, when the \code{formula} contains multiple variables, the p-value
 adjustment is done independently for each variable.}

\item{...}{Other arguments to be passed to the test function.}
}
\value{
return a data frame with the following columns:
\itemize{
\item \code{.y.}: the y variable used in the test.
\item \code{group1,group2}: the compared groups in the pairwise tests.
Available only when \code{method = "t.test"} or \code{method = "wilcox.test"}.
\item \code{p}: the p-value.
\item \code{p.adj}: the adjusted p-value. Default for \code{p.adjust.method = "holm"}.
\item \code{p.format}: the formatted p-value.
\item \code{p.signif}: the significance level.
\item \code{method}: the statistical test used to compare groups.


}
}
\description{
Performs one or multiple mean comparisons.
}
\examples{
# Load data
#:::::::::::::::::::::::::::::::::::::::
data("ToothGrowth")
df <- ToothGrowth

# One-sample test
#:::::::::::::::::::::::::::::::::::::::::
compare_means(len ~ 1, df, mu = 0)

# Two-samples unpaired test
#:::::::::::::::::::::::::::::::::::::::::
compare_means(len ~ supp, df)

# Two-samples paired test
#:::::::::::::::::::::::::::::::::::::::::
compare_means(len ~ supp, df, paired = TRUE)

# Compare supp levels after grouping the data by "dose"
#::::::::::::::::::::::::::::::::::::::::
compare_means(len ~ supp, df, group.by = "dose")

# pairwise comparisons
#::::::::::::::::::::::::::::::::::::::::
# As dose contains more thant two levels ==>
# pairwise test is automatically performed.
compare_means(len ~ dose, df)

# Comparison against reference group
#::::::::::::::::::::::::::::::::::::::::
compare_means(len ~ dose, df, ref.group = "0.5")

# Comparison against all
#::::::::::::::::::::::::::::::::::::::::
compare_means(len ~ dose, df, ref.group = ".all.")

# Anova and kruskal.test
#::::::::::::::::::::::::::::::::::::::::
compare_means(len ~ dose, df, method = "anova")
compare_means(len ~ dose, df, method = "kruskal.test")
}