Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

trans_beta

Create trans_beta object for the analysis of distance matrix of beta-diversity.


Description

This class is a wrapper for a series of beta-diversity related analysis, including several ordination calculations and plotting 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> and PERMDISP. Please also cite the original paper: An et al. (2019). Soil bacterial community structure in Chinese wetlands. Geoderma, 337, 290-299.

Methods

Public methods


Method new()

Usage
trans_beta$new(dataset = NULL, measure = NULL, group = NULL)
Arguments
dataset

the object of microtable Class.

measure

default NULL; bray, jaccard, wei_unifrac or unwei_unifrac, or other name of matrix you add; beta diversity index used for ordination, manova or group distance.

group

default NULL; sample group used for manova, betadisper or group distance.

Returns

parameters stored in the object.

Examples
data(dataset)
t1 <- trans_beta$new(dataset = dataset, measure = "bray", group = "Group")

Method cal_ordination()

Ordination based on An et al. (2019) <doi:10.1016/j.geoderma.2018.09.035>.

Usage
trans_beta$cal_ordination(
  ordination = "PCoA",
  ncomp = 3,
  trans_otu = FALSE,
  scale_species = FALSE
)
Arguments
ordination

default "PCoA"; "PCA", "PCoA" or "NMDS". PCA: principal component analysis; PCoA: principal coordinates analysis; NMDS: non-metric multidimensional scaling.

ncomp

default 3; the returned dimensions.

trans_otu

default FALSE; whether species abundance will be square transformed, used for PCA.

scale_species

default FALSE; whether species loading in PCA will be scaled.

Returns

res_ordination stored in the object.

Examples
t1$cal_ordination(ordination = "PCoA")		

Method plot_ordination()

Plotting the ordination result based on An et al. (2019) <doi:10.1016/j.geoderma.2018.09.035>.

Usage
trans_beta$plot_ordination(
  plot_type = "point",
  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"
)
Arguments
plot_type

default "point"; one or more elements of "point", "ellipse", "chull" and "centroid".

'point'

add point

'ellipse'

add confidence ellipse for points of each group

'chull'

add convex hull for points of each group

'centroid'

add centroid line of each group

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; the column name in sample table, if provided, show the point name in plot.

point_size

default 3; point size in plot when "point" is in plot_type.

point_alpha

default .8; point transparency in plot when "point" is in plot_type.

centroid_segment_alpha

default 0.6; segment transparency in plot when "centroid" is in plot_type.

centroid_segment_size

default 1; segment size in plot when "centroid" is in plot_type.

centroid_segment_linetype

default 3; the line type related with centroid in plot when "centroid" is in plot_type.

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.

ellipse_level

default .9; confidence level of ellipse when "ellipse" is in plot_type.

ellipse_type

default "t"; ellipse type when "ellipse" is in plot_type; see type in stat_ellipse.

Returns

ggplot.

Examples
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", "chull"))
t1$plot_ordination(plot_color = "Group", plot_type = c("point", "centroid"), 
	  centroid_segment_linetype = 1)

Method cal_manova()

Calculate perMANOVA based on Anderson al. (2008) <doi:10.1111/j.1442-9993.2001.01070.pp.x> and R vegan adonis2 function.

Usage
trans_beta$cal_manova(
  manova_all = TRUE,
  manova_set = NULL,
  group = NULL,
  p_adjust_method = "fdr",
  ...
)
Arguments
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"; see also adonis2.

group

default NULL; a column name of sample_table used for manova. If NULL, search group stored in the object.

p_adjust_method

default "fdr"; p.adjust method when manova_all = FALSE; see method parameter of p.adjust function for available options.

...

parameters passed to adonis2 function of vegan package.

Returns

res_manova stored in object.

Examples
t1$cal_manova(manova_all = TRUE)

Method cal_betadisper()

A wrapper for betadisper function in vegan package for multivariate homogeneity test of groups dispersions.

Usage
trans_beta$cal_betadisper(...)
Arguments
...

parameters passed to betadisper function.

Returns

res_betadisper stored in object.

Examples
t1$cal_betadisper()

Method cal_group_distance()

Transform sample distances within groups or between groups.

Usage
trans_beta$cal_group_distance(within_group = TRUE)
Arguments
within_group

default TRUE; whether transform sample distance within groups, if FALSE, transform sample distance between any two groups.

Returns

res_group_distance stored in object.

Examples
\donttest{
t1$cal_group_distance(within_group = TRUE)
}

Method plot_group_distance()

Plotting the distance between samples within or between groups.

Usage
trans_beta$plot_group_distance(
  plot_group_order = NULL,
  color_values = RColorBrewer::brewer.pal(8, "Dark2"),
  distance_pair_stat = FALSE,
  hide_ns = FALSE,
  hide_ns_more = NULL,
  pair_compare_filter_match = NULL,
  pair_compare_filter_select = NULL,
  pair_compare_method = "wilcox.test",
  plot_distance_xtype = NULL
)
Arguments
plot_group_order

default NULL; a vector used to order the groups in the plot.

color_values

colors for presentation.

distance_pair_stat

default FALSE; whether do the paired comparisions.

hide_ns

default FALSE; whether hide the "ns" pairs, i.e. non significant comparisions.

hide_ns_more

default NULL; character vector; available when hide_ns = TRUE; if provided, used for the specific significance filtering, such as c("ns", "*").

pair_compare_filter_match

default NULL; only available when hide_ns = FALSE; if provided, remove the matched groups; use the regular express to match the paired groups.

pair_compare_filter_select

default NULL; numeric vector;only available when hide_ns = FALSE; if provided, only select those input groups. This parameter must be a numeric vector used to select the paired combination of groups. For example, pair_compare_filter_select = c(1, 3) can be used to select "CW"-"IW" and "IW"-"TW" from all the three pairs "CW"-"IW", "CW"-"TW" and "IW"-"TW" of ordered groups ("CW", "IW", "TW"). The parameter pair_compare_filter_select and pair_compare_filter_match can not be both used together.

pair_compare_method

default wilcox.test; wilcox.test, kruskal.test, t.test or anova.

plot_distance_xtype

default NULL; number used to make x axis text generate angle.

Returns

ggplot.

Examples
\donttest{
t1$plot_group_distance(distance_pair_stat = TRUE)
t1$plot_group_distance(distance_pair_stat = TRUE, hide_ns = TRUE)
t1$plot_group_distance(distance_pair_stat = TRUE, hide_ns = TRUE, hide_ns_more = c("ns", "*"))
t1$plot_group_distance(distance_pair_stat = TRUE, pair_compare_filter_select = 3)
}

Method plot_clustering()

Plotting clustering result. Require ggdendro package.

Usage
trans_beta$plot_clustering(
  use_colors = RColorBrewer::brewer.pal(8, "Dark2"),
  measure = NULL,
  group = NULL,
  replace_name = NULL
)
Arguments
use_colors

colors for presentation.

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.

Returns

ggplot.

Examples
t1$plot_clustering(group = "Group", replace_name = c("Saline", "Type"))

Method clone()

The objects of this class are cloneable with this method.

Usage
trans_beta$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

## ------------------------------------------------
## Method `trans_beta$new`
## ------------------------------------------------

data(dataset)
t1 <- trans_beta$new(dataset = dataset, measure = "bray", group = "Group")

## ------------------------------------------------
## Method `trans_beta$cal_ordination`
## ------------------------------------------------

t1$cal_ordination(ordination = "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", "chull"))
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_betadisper`
## ------------------------------------------------

t1$cal_betadisper()

## ------------------------------------------------
## Method `trans_beta$cal_group_distance`
## ------------------------------------------------


t1$cal_group_distance(within_group = TRUE)


## ------------------------------------------------
## Method `trans_beta$plot_group_distance`
## ------------------------------------------------


t1$plot_group_distance(distance_pair_stat = TRUE)
t1$plot_group_distance(distance_pair_stat = TRUE, hide_ns = TRUE)
t1$plot_group_distance(distance_pair_stat = TRUE, hide_ns = TRUE, hide_ns_more = c("ns", "*"))
t1$plot_group_distance(distance_pair_stat = TRUE, pair_compare_filter_select = 3)


## ------------------------------------------------
## Method `trans_beta$plot_clustering`
## ------------------------------------------------

t1$plot_clustering(group = "Group", replace_name = c("Saline", "Type"))

microeco

Microbial Community Ecology Data Analysis

v0.10.0
GPL-3
Authors
Chi Liu [aut, cre], Felipe R. P. Mansoldo [ctb], Umer Zeeshan Ijaz [ctb], Chenhao Li [ctb], Yang Cao [ctb], Minjie Yao [ctb], Xiangzhen Li [ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.