A simple interface to lower-level statistics functions, including
stats::wilcox.test(), stats::kruskal.test(), emmeans::emmeans(),
and emmeans::emtrends().
Usage
stats_table(
df,
regr = NULL,
resp = attr(df, "response"),
stat.by = NULL,
split.by = NULL,
test = "emmeans",
fit = "gam",
at = NULL,
level = 0.95,
alt = "!=",
mu = 0,
p.adj = "fdr"
)Arguments
- df
The dataset (data.frame or tibble object). "Dataset fields" mentioned below should match column names in
df. Required.- regr
Dataset field with the x-axis (independent; predictive) values. Must be numeric. Default:
NULL- resp
Dataset field with the y-axis (dependent; response) values, such as taxa abundance or alpha diversity. Default:
attr(df, 'response')- stat.by
Dataset field with the statistical groups. Must be categorical. Default:
NULL- split.by
Dataset field(s) that the data should be split by prior to any calculations. Must be categorical. Default:
NULL- test
Method for computing p-values:
'wilcox','kruskal','emmeans', or'emtrends'. Default:'emmeans'- fit
How to fit the trendline.
'lm','log', or'gam'. Default:'gam'- at
Position(s) along the x-axis where the means or slopes should be evaluated. Default:
NULL, which samples 100 evenly spaced positions and selects the position where the p-value is most significant.- level
The confidence level for calculating a confidence interval. Default:
0.95- alt
Alternative hypothesis direction. Options are
'!='(two-sided; not equal tomu),'<'(less thanmu), or'>'(greater thanmu). Default:'!='- mu
Reference value to test against. Default:
0- p.adj
Method to use for multiple comparisons adjustment of p-values. Run
p.adjust.methodsfor a list of available options. Default:"fdr"
Value
A tibble data.frame with fields from the table below. This tibble
object provides the $code operator to print the R code used to generate
the statistics.
| Field | Description |
| .mean | Estimated marginal mean. See emmeans::emmeans(). |
| .mean.diff | Difference in means. |
| .slope | Trendline slope. See emmeans::emtrends(). |
| .slope.diff | Difference in slopes. |
| .h1 | Alternate hypothesis. |
| .p.val | Probability that null hypothesis is correct. |
| .adj.p | .p.val after adjusting for multiple comparisons. |
| .effect.size | Effect size. See emmeans::eff_size(). |
| .lower | Confidence interval lower bound. |
| .upper | Confidence interval upper bound. |
| .se | Standard error. |
| .n | Number of samples. |
| .df | Degrees of freedom. |
| .stat | Wilcoxon or Kruskal-Wallis rank sum statistic. |
| .t.ratio | .mean / .se |
| .r.sqr | Percent of variation explained by the model. |
| .adj.r | .r.sqr, taking degrees of freedom into account. |
| .aic | Akaike Information Criterion (predictive models). |
| .bic | Bayesian Information Criterion (descriptive models). |
| .loglik | Log-likelihood goodness-of-fit score. |
| .fit.p | P-value for observing this fit by chance. |
See also
Other stats_tables:
adiv_stats(),
bdiv_stats(),
distmat_stats(),
taxa_stats()
Examples
library(rbiom)
biom <- rarefy(hmp50)
df <- taxa_table(biom, rank = "Family")
stats_table(df, stat.by = "Body Site")[,1:6]
#> # Model: gam(.abundance ~ `Body Site`, method = "REML")
#> # A tibble: 10 × 6
#> `Body Site` .mean.diff .h1 .p.val .adj.p .effect.size
#> <chr> <dbl> <fct> <dbl> <dbl> <dbl>
#> 1 Mid vagina - Saliva 84.1 != 0 0.136 0.510 0.274
#> 2 Buccal mucosa - Saliva 60.4 != 0 0.160 0.510 0.258
#> 3 Anterior nares - Mid vagina -84.6 != 0 0.167 0.510 -0.254
#> 4 Anterior nares - Buccal mucosa -60.9 != 0 0.214 0.510 -0.228
#> 5 Mid vagina - Stool 73.8 != 0 0.255 0.510 0.215
#> 6 Buccal mucosa - Stool 50.1 != 0 0.336 0.560 0.181
#> 7 Buccal mucosa - Mid vagina -23.7 != 0 0.724 0.889 -0.0646
#> 8 Saliva - Stool -10.3 != 0 0.766 0.889 -0.0560
#> 9 Anterior nares - Stool -10.8 != 0 0.800 0.889 -0.0476
#> 10 Anterior nares - Saliva -0.500 != 0 0.988 0.988 -0.00284
df <- adiv_table(biom)
stats_table(df, stat.by = "Sex", split.by = "Body Site")[,1:7]
#> # Model: gam(.diversity ~ Sex, method = "REML")
#> # A tibble: 5 × 7
#> `Body Site` Sex .mean.diff .h1 .p.val .adj.p .effect.size
#> <fct> <chr> <dbl> <fct> <dbl> <dbl> <dbl>
#> 1 Buccal mucosa Female - Male -0.560 != 0 0.230 0.441 -0.822
#> 2 Saliva Female - Male -0.242 != 0 0.231 0.441 -0.820
#> 3 Stool Female - Male -0.192 != 0 0.331 0.441 -0.701
#> 4 Anterior nares Female - Male -0.0686 != 0 0.739 0.739 -0.218
#> 5 Mid vagina NA NA NA NA NA NA
