trans_alpha | R Documentation |
trans_alpha
object for alpha diversity statistics and plot.This class is a wrapper for a series of alpha diversity analysis, including the statistics and visualization.
new()
trans_alpha$new( dataset = NULL, group = NULL, by_group = NULL, by_ID = NULL, order_x = NULL )
dataset
the object of microtable
class.
group
default NULL; a column of sample_table
used for the statistics; If provided, can return data_stat
.
by_group
default NULL; a column of sample_table
used to perform the differential test
among groups (group
parameter) for each group (by_group
parameter). So by_group
has a higher level than group
parameter.
by_ID
default NULL; a column of sample_table
used to perform paired t test or paired wilcox test for the paired data,
such as the data of plant compartments for different plant species (ID).
So by_ID
in sample_table should be the smallest unit of sample collection without any repetition in it.
order_x
default NULL; a sample_table
column name or a vector with sample names; if provided, order samples by using factor
.
data_alpha
and data_stat
stored in the object.
\donttest{ data(dataset) t1 <- trans_alpha$new(dataset = dataset, group = "Group") }
cal_diff()
Differential test on alpha diversity.
trans_alpha$cal_diff( method = c("KW", "KW_dunn", "wilcox", "t.test", "anova", "scheirerRayHare", "lme", "betareg", "glmm")[1], measure = NULL, p_adjust_method = "fdr", formula = NULL, KW_dunn_letter = TRUE, alpha = 0.05, anova_post_test = "duncan.test", return_model = FALSE, ... )
method
default "KW"; see the following available options:
Kruskal-Wallis Rank Sum Test for all groups (>= 2)
Dunn's Kruskal-Wallis Multiple Comparisons <10.1080/00401706.1964.10490181> based on dunnTest
function in FSA
package
Wilcoxon Rank Sum Test for all paired groups
Student's t-Test for all paired groups
Variance analysis. For one-way anova, the post hoc test is Duncan's new multiple range test
based on duncan.test
function of agricolae
package. Please use anova_post_test
parameter to select other post hoc method.
For multi-way anova, Please use formula
parameter to specify the model and see aov
for more details
Scheirer Ray Hare test (nonparametric test) for a two-way factorial experiment;
see scheirerRayHare
function of rcompanion
package
Linear Mixed Effect Model based on the lmerTest
package
Beta Regression for Rates and Proportions based on the betareg
package
Generalized linear mixed model (GLMM) based on the glmmTMB
package
measure
default NULL; character vector; If NULL, all indexes will be calculated; see names of microtable$alpha_diversity
,
e.g. c("Observed", "Chao1", "Shannon").
p_adjust_method
default "fdr" (for "KW", "wilcox", "t.test") or "holm" (for "KW_dunn"); P value adjustment method;
For method = 'KW', 'wilcox' or 't.test'
, please see method parameter of p.adjust
function for available options;
For method = 'KW_dunn'
, please see dunn.test::p.adjustment.methods
for available options.
formula
default NULL; applied to two-way or multi-factor anova when
method = "anova"
or "scheirerRayHare"
or "lme"
or "betareg"
or "glmm"
;
specified set for independent variables, i.e. the latter part of a general formula,
such as 'block + N*P*K'
.
KW_dunn_letter
default TRUE; For method = 'KW_dunn'
, TRUE
denotes paired significances are presented by letters;
FALSE
means significances are shown by asterisk for paired comparison.
alpha
default 0.05; Significant level; used for generating significance letters when method is 'anova' or 'KW_dunn'.
anova_post_test
default "duncan.test". The post hoc test method for one-way anova. Other available options include "LSD.test" and "HSD.test".
All those are the function names in agricolae
package.
return_model
default FALSE; whether return the original lmer or glmm model list in the object.
...
parameters passed to kruskal.test
(when method = "KW"
) or wilcox.test
function (when method = "wilcox"
) or
dunnTest
function of FSA
package (when method = "KW_dunn"
) or
agricolae::duncan.test
/agricolae::LSD.test
/agricolae::HSD.test
(when method = "anova"
, one-way anova) or
rcompanion::scheirerRayHare
(when method = "scheirerRayHare"
) or
lmerTest::lmer
(when method = "lme"
) or
betareg::betareg
(when method = "betareg"
) or
glmmTMB::glmmTMB
(when method = "glmm"
).
res_diff
, stored in object with the format data.frame
.
\donttest{ t1$cal_diff(method = "KW") t1$cal_diff(method = "anova") t1 <- trans_alpha$new(dataset = dataset, group = "Type", by_group = "Group") t1$cal_diff(method = "anova") }
plot_alpha()
Plot the alpha diversity.
trans_alpha$plot_alpha( color_values = RColorBrewer::brewer.pal(8, "Dark2"), measure = "Shannon", group = NULL, add_sig = TRUE, add_sig_label = "Significance", add_sig_text_size = 3.88, add_sig_label_num_dec = 4, boxplot_add = "jitter", order_x_mean = FALSE, y_start = 0.1, y_increase = 0.05, xtext_angle = NULL, xtext_size = 15, ytitle_size = 17, barwidth = 0.9, use_boxplot = TRUE, plot_SE = TRUE, errorbar_size = 1, errorbar_width = 0.2, point_size = 3, point_alpha = 0.8, add_line = FALSE, line_size = 0.8, line_type = 1, line_color = "grey50", line_alpha = 0.5, ... )
color_values
default RColorBrewer::brewer.pal
(8, "Dark2"); color pallete for groups.
measure
default "Shannon"; one alpha diversity index in the object.
group
default NULL; group name used for the plot.
add_sig
default TRUE; wheter add significance label using the result of cal_diff
function, i.e. object$res_diff
;
This is manily designed to add post hoc test of anova or other significances to make the label mapping easy.
add_sig_label
default "Significance"; select a colname of object$res_diff
for the label text when 'Letter' is not in the table,
such as 'P.adj' or 'Significance'.
add_sig_text_size
default 3.88; the size of text in added label.
add_sig_label_num_dec
default 4; reserved decimal places when the parameter add_sig_label
use numeric column, like 'P.adj'.
boxplot_add
default "jitter"; points type, see the add parameter in ggpubr::ggboxplot
.
order_x_mean
default FALSE; whether order x axis by the means of groups from large to small.
y_start
default 0.1; the y axis value from which to add the significance asterisk label;
the default 0.1 means max(values) + 0.1 * (max(values) - min(values))
.
y_increase
default 0.05; the increasing y axia space to add the label (asterisk or letter); the default 0.05 means 0.05 * (max(values) - min(values))
;
this parameter is also used to label the letters of anova result with the fixed space.
xtext_angle
default NULL; number (e.g. 30) used to make x axis text generate angle.
xtext_size
default 15; x axis text size.
ytitle_size
default 17; y axis title size.
barwidth
default 0.9; the bar width in plot; applied when by_group is not NULL.
use_boxplot
default TRUE; TRUE denotes boxplot by using the data_alpha table in the object. FALSE represents mean-sd or mean-se plot by invoking the data_stat table in the object.
plot_SE
default TRUE; TRUE: the errorbar is mean±se
; FALSE: the errorbar is mean±sd
.
errorbar_size
default 1; errorbar size. Available when use_boxplot = FALSE
.
errorbar_width
default 0.2; errorbar width. Available when use_boxplot = FALSE
and by_group
is NULL.
point_size
default 3; point size for taxa. Available when use_boxplot = FALSE
.
point_alpha
default 0.8; point transparency. Available when use_boxplot = FALSE
.
add_line
default FALSE; whether add line. Available when use_boxplot = FALSE
.
line_size
default 0.8; line size when add_line = TRUE
. Available when use_boxplot = FALSE
.
line_type
default 1; an integer; line type when add_line = TRUE
. Available when use_boxplot = FALSE
.
line_color
default "grey50"; line color when add_line = TRUE
. Available when use_boxplot = FALSE
and by_group
is NULL.
line_alpha
default 0.5; line transparency when add_line = TRUE
. Available when use_boxplot = FALSE
.
...
parameters pass to ggpubr::ggboxplot
function.
ggplot.
\donttest{ t1 <- trans_alpha$new(dataset = dataset, group = "Group") t1$cal_diff(method = "wilcox") t1$plot_alpha(measure = "Shannon", add_sig = TRUE) t1 <- trans_alpha$new(dataset = dataset, group = "Type", by_group = "Group") t1$cal_diff(method = "wilcox") t1$plot_alpha(measure = "Shannon", add_sig = TRUE) }
print()
Print the trans_alpha object.
trans_alpha$print()
clone()
The objects of this class are cloneable with this method.
trans_alpha$clone(deep = FALSE)
deep
Whether to make a deep clone.
## ------------------------------------------------
## Method `trans_alpha$new`
## ------------------------------------------------
data(dataset)
t1 <- trans_alpha$new(dataset = dataset, group = "Group")
## ------------------------------------------------
## Method `trans_alpha$cal_diff`
## ------------------------------------------------
t1$cal_diff(method = "KW")
t1$cal_diff(method = "anova")
t1 <- trans_alpha$new(dataset = dataset, group = "Type", by_group = "Group")
t1$cal_diff(method = "anova")
## ------------------------------------------------
## Method `trans_alpha$plot_alpha`
## ------------------------------------------------
t1 <- trans_alpha$new(dataset = dataset, group = "Group")
t1$cal_diff(method = "wilcox")
t1$plot_alpha(measure = "Shannon", add_sig = TRUE)
t1 <- trans_alpha$new(dataset = dataset, group = "Type", by_group = "Group")
t1$cal_diff(method = "wilcox")
t1$plot_alpha(measure = "Shannon", add_sig = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.