trans_beta | R Documentation |
trans_beta
object for beta-diversity analysisThis class is a wrapper for a series of beta-diversity related analysis,
including ordination analysis based on An et al. (2019) <doi:10.1016/j.geoderma.2018.09.035>, group distance comparision,
clustering, perMANOVA based on Anderson al. (2008) <doi:10.1111/j.1442-9993.2001.01070.pp.x>, ANOSIM and PERMDISP.
Note that the beta diversity analysis methods related with environmental variables are encapsulated within the trans_env
class.
new()
trans_beta$new(dataset = NULL, measure = NULL, group = NULL)
dataset
the object of microtable
class.
measure
default NULL; a matrix name stored in microtable$beta_diversity
list, such as "bray" or "jaccard", or a customized matrix;
used for ordination, manova, group distance comparision, etc.;
Please see cal_betadiv
function of microtable
class for more details.
group
default NULL; sample group used for manova, betadisper or group distance comparision.
measure, group and dataset stored in the object.
data(dataset) t1 <- trans_beta$new(dataset = dataset, measure = "bray", group = "Group")
cal_ordination()
Unconstrained ordination.
trans_beta$cal_ordination( method = "PCoA", ncomp = 2, taxa_level = NULL, NMDS_matrix = TRUE, trans = FALSE, scale_species = FALSE, scale_species_ratio = 0.8, orthoI = NA, ordination = deprecated(), ... )
method
default "PCoA"; "PCoA", "NMDS", "PCA", "DCA", "PLS-DA" or "OPLS-DA". PCoA: principal coordinates analysis; NMDS: non-metric multidimensional scaling, PCA: principal component analysis; DCA: detrended correspondence analysis; PLS-DA: partial least squares discriminant analysis; OPLS-DA: orthogonal partial least squares discriminant analysis. For the methods details, please refer to the papers <doi:10.1111/j.1574-6941.2007.00375.x> (for PCoA, NMDS, PCA and DCA) and <doi:10.1186/s12859-019-3310-7> (for PLS-DA or OPLS-DA).
ncomp
default 2; dimensions in the result.
For the method "NMDS", this argument will be passed to the k
parameter in the vegan::metaMDS
function.
taxa_level
default NULL; available for PCA, DCA or NMDS (NMDS_matrix = TRUE
).
Default NULL means using the otu_table
in the microtable object.
For other options, please provide the taxonomic rank names in tax_table
, such as "Phylum" or "Genus".
In such cases, the data will be merged according to the provided taxonomic levels to generated a new abundance table.
NMDS_matrix
default TRUE; For the NMDS method, whether use a distance matrix as input like PCoA. If it is FALSE, the input will be the abundance table like PCA.
trans
default FALSE; whether species abundance will be square root transformed; only available when method
is "PCA" or "DCA".
For method "NMDS" and NMDS_matrix = FALSE
, please set the autotransform
parameter, which will be passed to vegan::metaMDS
function directly.
scale_species
default FALSE; whether species loading in PCA, DCA or NMDS (NMDS_matrix = FALSE
) is scaled.
scale_species_ratio
default 0.8; the ratio to scale up the loading; multiply by the maximum distance between samples and origin.
Only available when scale_species = TURE
.
orthoI
default NA; number of orthogonal components (for OPLS-DA only). Default NA means the number of orthogonal components is automatically computed.
Please also see orthoI
parameter in opls
function of ropls package.
ordination
deprecated. Please use method
argument instead.
...
parameters passed to vegan::rda
function when method = "PCA"
,
or vegan::decorana
function when method = "DCA"
,
or ape::pcoa
function when method = "PCoA"
,
or vegan::metaMDS
function when method = "NMDS"
,
or ropls::opls
function when method = "PLS-DA"
or method = "OPLS-DA"
.
res_ordination
list stored in the object.
In the list, model
is the original analysis results; scores
is the sample scores table; loading
is the feature loading table.
t1$cal_ordination(method = "PCoA")
plot_ordination()
Plot the ordination result.
trans_beta$plot_ordination( plot_type = "point", choices = c(1, 2), color_values = RColorBrewer::brewer.pal(8, "Dark2"), shape_values = c(16, 17, 7, 8, 15, 18, 11, 10, 12, 13, 9, 3, 4, 0, 1, 2, 14), plot_color = NULL, plot_shape = NULL, plot_group_order = NULL, add_sample_label = NULL, point_size = 3, point_alpha = 0.8, centroid_segment_alpha = 0.6, centroid_segment_size = 1, centroid_segment_linetype = 3, ellipse_chull_fill = TRUE, ellipse_chull_alpha = 0.1, ellipse_level = 0.9, ellipse_type = "t", NMDS_stress_pos = c(1, 1), NMDS_stress_text_prefix = "", loading_arrow = FALSE, loading_taxa_num = 10, loading_text_taxlevel = NULL, loading_text_color = "black", loading_arrow_color = "grey30", loading_text_size = 3, loading_text_prefix = FALSE, loading_text_italic = FALSE )
plot_type
default "point"; one or more elements of "point", "ellipse", "chull" and "centroid".
add sample points
add confidence ellipse for points of each group
add convex hull for points of each group
add centroid line of each group
choices
default c(1, 2); selected axis for the visualization; must be numeric vector.
The maximum value must not exceed the parameter ncomp
in the cal_ordination
function.
color_values
default RColorBrewer::brewer.pal
(8, "Dark2"); colors palette for different groups.
shape_values
default c(16, 17, 7, 8, 15, 18, 11, 10, 12, 13, 9, 3, 4, 0, 1, 2, 14); a vector for point shape types of groups, see ggplot2
tutorial.
plot_color
default NULL; a colname of sample_table
to assign colors to different groups in plot.
plot_shape
default NULL; a colname of sample_table
to assign shapes to different groups in plot.
plot_group_order
default NULL; a vector used to order the groups in the legend of plot.
add_sample_label
default NULL; a column name in sample_table
; If provided, show the point name in plot.
point_size
default 3; point size when "point" is in plot_type
parameter.
point_size
can also be a variable name in sample_table
, such as "pH".
point_alpha
default .8; point transparency in plot when "point" is in plot_type
parameter.
centroid_segment_alpha
default 0.6; segment transparency in plot when "centroid" is in plot_type
parameter.
centroid_segment_size
default 1; segment size in plot when "centroid" is in plot_type
parameter.
centroid_segment_linetype
default 3; the line type related with centroid in plot when "centroid" is in plot_type
parameter.
ellipse_chull_fill
default TRUE; whether fill colors to the area of ellipse or chull.
ellipse_chull_alpha
default 0.1; color transparency in the ellipse or convex hull depending on whether "ellipse" or "centroid" is in plot_type
parameter.
ellipse_level
default .9; confidence level of ellipse when "ellipse" is in plot_type
parameter.
ellipse_type
default "t"; ellipse type when "ellipse" is in plot_type
parameter; see type in stat_ellipse
.
NMDS_stress_pos
default c(1, 1); a numerical vector with two values used to represent the insertion position of the stress text.
The first one denotes the x-axis, while the second one corresponds to the y-axis.
The assigned position is determined by multiplying the respective value with the maximum point on the corresponding coordinate axis.
Thus, the x-axis position is equal to max(points of x axis) * NMDS_stress_pos[1]
,
and the y-axis position is equal to max(points of y axis) * NMDS_stress_pos[2]
. Negative values can also be utilized for the negative part of the axis.
NMDS_stress_pos = NULL
denotes no stress text to show.
NMDS_stress_text_prefix
default ""; If NMDS_stress_pos is not NULL, this parameter can be used to add text in front of the stress value.
loading_arrow
default FALSE; whether show the loading using arrow.
loading_taxa_num
default 10; the number of taxa used for the loading. Only available when loading_arrow = TRUE
.
loading_text_taxlevel
default NULL; which level of taxonomic table will be used.
Default NULL means using the taxa_level
parameter in the previous cal_ordination
function.
loading_text_color
default "black"; the color of taxa text. Only available when loading_arrow = TRUE
.
loading_arrow_color
default "grey30"; the color of taxa arrow. Only available when loading_arrow = TRUE
.
loading_text_size
default 3; the size of taxa text. Only available when loading_arrow = TRUE
.
loading_text_prefix
default FALSE; whether show the prefix (e.g., g__) in the taxa text. Only available when loading_arrow = TRUE
.
loading_text_italic
default FALSE; whether using italic for the taxa text. Only available when loading_arrow = TRUE
.
ggplot
.
t1$plot_ordination(plot_type = "point") t1$plot_ordination(plot_color = "Group", plot_shape = "Group", plot_type = "point") t1$plot_ordination(plot_color = "Group", plot_type = c("point", "ellipse")) t1$plot_ordination(plot_color = "Group", plot_type = c("point", "centroid"), centroid_segment_linetype = 1)
cal_manova()
Calculate perMANOVA (Permutational Multivariate Analysis of Variance) based on the adonis2
function of vegan package <doi:10.1111/j.1442-9993.2001.01070.pp.x>.
trans_beta$cal_manova( manova_all = TRUE, manova_set = NULL, group = NULL, by_group = NULL, p_adjust_method = "fdr", by = "terms", permutations = 999, ... )
manova_all
default TRUE; TRUE represents test for all the groups, i.e. the overall test; FALSE represents test for all the paired groups.
manova_set
default NULL; other specified group set for manova, such as "Group + Type"
and "Group*Type"
.
Please also see the formula
parameter (only right-hand side) in adonis2
function of vegan package.
The parameter manova_set has higher priority than manova_all parameter. If manova_set is provided; manova_all is disabled.
group
default NULL; a column name of sample_table
used for manova. If NULL, search group
variable stored in the object.
Available when manova_set
is not provided.
by_group
default NULL; one column name in sample_table
; used to perform paired comparisions within each group.
Only available when manova_all = FALSE
and manova_set
is not provided.
p_adjust_method
default "fdr"; p.adjust method; available when manova_all = FALSE
;
see method
parameter of p.adjust
function for available options.
by
default "terms"; same with the by
parameter in adonis2
function of vegan package.
permutations
default 999; same with the permutations
parameter in adonis2
function of vegan package.
...
parameters passed to adonis2
function of vegan
package.
res_manova
stored in object with data.frame
class.
t1$cal_manova(manova_all = TRUE)
cal_anosim()
Analysis of similarities (ANOSIM) based on the anosim
function of vegan package.
trans_beta$cal_anosim( paired = FALSE, group = NULL, by_group = NULL, p_adjust_method = "fdr", permutations = 999, ... )
paired
default FALSE; whether perform paired test between any two combined groups from all the input groups.
group
default NULL; a column name of sample_table
. If NULL, search group
variable stored in the object.
by_group
default NULL; one column name in sample_table
; used to perform paired comparisions within each group.
Only available when paired = TRUE
.
p_adjust_method
default "fdr"; p.adjust method; available when paired = TRUE
; see method parameter of p.adjust
function for available options.
permutations
default 999; same with the permutations
parameter in anosim
function of vegan package.
...
parameters passed to anosim
function of vegan
package.
res_anosim
stored in object with data.frame
class.
t1$cal_anosim()
cal_betadisper()
Multivariate homogeneity test of groups dispersions (PERMDISP) based on betadisper
function in vegan package.
trans_beta$cal_betadisper(...)
...
parameters passed to betadisper
function.
res_betadisper
stored in object.
t1$cal_betadisper()
cal_group_distance()
Convert symmetric distance matrix to distance table of paired samples that are within groups or between groups.
trans_beta$cal_group_distance( within_group = TRUE, by_group = NULL, ordered_group = NULL, sep = " vs " )
within_group
default TRUE; whether obtain distance table of paired samples within groups; if FALSE, obtain distances of paired samples between any two groups.
by_group
default NULL; one colname name of sample_table
in microtable
object.
If provided, transform distances by the provided by_group
parameter. This is especially useful for ordering and filtering values further.
When within_group = TRUE
, the result of by_group parameter is the format of paired groups.
When within_group = FALSE
, the result of by_group parameter is the format same with the group information in sample_table
.
ordered_group
default NULL; a vector representing the ordered elements of group
parameter; only useful when within_group = FALSE.
sep
default TRUE; a character string to separate the group names after merging them into a new name.
res_group_distance
stored in object.
\donttest{ t1$cal_group_distance(within_group = TRUE) }
cal_group_distance_diff()
Differential test of converted distances across groups.
trans_beta$cal_group_distance_diff( group = NULL, by_group = NULL, by_ID = NULL, ... )
group
default NULL; a column name of object$res_group_distance
used for the statistics; If NULL, use the group
inside the object.
by_group
default NULL; a column of object$res_group_distance
used to perform the differential test
among elements in group
parameter for each element in by_group
parameter. So by_group
has a larger scale than group
parameter.
This by_group
is very different from the by_group
parameter in the cal_group_distance
function.
by_ID
default NULL; a column of object$res_group_distance
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
should be the smallest unit of sample collection without any repetition in it.
...
parameters passed to cal_diff
function of trans_alpha
class.
res_group_distance_diff
stored in object.
\donttest{ t1$cal_group_distance_diff() }
plot_group_distance()
Plot the distances of paired groups within or between groups.
trans_beta$plot_group_distance(plot_group_order = NULL, ...)
plot_group_order
default NULL; a vector used to order the groups in the plot.
...
parameters (except measure) passed to plot_alpha
function of trans_alpha
class.
ggplot
.
\donttest{ t1$plot_group_distance() }
plot_clustering()
Plot clustering result based on the ggdendro
package.
trans_beta$plot_clustering( color_values = RColorBrewer::brewer.pal(8, "Dark2"), measure = NULL, group = NULL, replace_name = NULL )
color_values
default RColorBrewer::brewer.pal(8, "Dark2"); color palette for the text.
measure
default NULL; beta diversity index; If NULL, using the measure when creating object
group
default NULL; if provided, use this group to assign color.
replace_name
default NULL; if provided, use this as label.
ggplot
.
t1$plot_clustering(group = "Group", replace_name = c("Saline", "Type"))
clone()
The objects of this class are cloneable with this method.
trans_beta$clone(deep = FALSE)
deep
Whether to make a deep clone.
## ------------------------------------------------
## Method `trans_beta$new`
## ------------------------------------------------
data(dataset)
t1 <- trans_beta$new(dataset = dataset, measure = "bray", group = "Group")
## ------------------------------------------------
## Method `trans_beta$cal_ordination`
## ------------------------------------------------
t1$cal_ordination(method = "PCoA")
## ------------------------------------------------
## Method `trans_beta$plot_ordination`
## ------------------------------------------------
t1$plot_ordination(plot_type = "point")
t1$plot_ordination(plot_color = "Group", plot_shape = "Group", plot_type = "point")
t1$plot_ordination(plot_color = "Group", plot_type = c("point", "ellipse"))
t1$plot_ordination(plot_color = "Group", plot_type = c("point", "centroid"),
centroid_segment_linetype = 1)
## ------------------------------------------------
## Method `trans_beta$cal_manova`
## ------------------------------------------------
t1$cal_manova(manova_all = TRUE)
## ------------------------------------------------
## Method `trans_beta$cal_anosim`
## ------------------------------------------------
t1$cal_anosim()
## ------------------------------------------------
## Method `trans_beta$cal_betadisper`
## ------------------------------------------------
t1$cal_betadisper()
## ------------------------------------------------
## Method `trans_beta$cal_group_distance`
## ------------------------------------------------
t1$cal_group_distance(within_group = TRUE)
## ------------------------------------------------
## Method `trans_beta$cal_group_distance_diff`
## ------------------------------------------------
t1$cal_group_distance_diff()
## ------------------------------------------------
## Method `trans_beta$plot_group_distance`
## ------------------------------------------------
t1$plot_group_distance()
## ------------------------------------------------
## Method `trans_beta$plot_clustering`
## ------------------------------------------------
t1$plot_clustering(group = "Group", replace_name = c("Saline", "Type"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.