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

trans_abund

Create trans_abund object to transform taxonomic abundance for plotting.


Description

This class is a wrapper for the taxonomic abundance transformations and plotting. The transformed data style is the long-format for ggplot2 plotting. The plotting methods include bar plot, boxplot, heatmap and pie chart.

Methods

Public methods


Method new()

Usage
trans_abund$new(
  dataset = NULL,
  taxrank = "Phylum",
  show = 0,
  ntaxa = 10,
  groupmean = NULL,
  delete_full_prefix = TRUE,
  delete_part_prefix = FALSE,
  prefix = NULL,
  use_percentage = TRUE,
  input_taxaname = NULL
)
Arguments
dataset

default NULL; the object of microtable class.

taxrank

default "Phylum"; taxonomic rank.

show

default 0; the relative abundance threshold used for filtering.

ntaxa

default 10; how many taxa will be used, ordered by abundance from high to low; this parameter does not conflict with the parameter show; both can be used.

groupmean

default NULL; calculating mean abundance for each group; select a group column name in sample_table.

delete_full_prefix

default TRUE; whether delete both the prefix of taxonomy and the character in front of them.

delete_part_prefix

default FALSE; whether only delete the prefix of taxonomy.

prefix

default NULL; character string; can be used when delete_full_prefix = T or delete_part_prefix = T; default NULL reprensents using the "letter+__", e.g. "k__" for Phylum level; Please alter this parameter when the prefix is not standard.

use_percentage

default TRUE; show the abundance percentage.

input_taxaname

default NULL; character vector; if some taxa are selected, input taxa names.

Returns

data_abund stored in the object for plotting.

Examples
\donttest{
data(dataset)
t1 <- trans_abund$new(dataset = dataset, taxrank = "Phylum", ntaxa = 10)
}

Method plot_bar()

Bar plot.

Usage
trans_abund$plot_bar(
  color_values = RColorBrewer::brewer.pal(12, "Paired"),
  bar_type = "full",
  others_color = "grey90",
  facet = NULL,
  facet2 = NULL,
  order_facet = NULL,
  x_axis_name = NULL,
  order_x = NULL,
  barwidth = NULL,
  use_alluvium = FALSE,
  clustering = FALSE,
  facet_color = "grey95",
  strip_text = 11,
  legend_text_italic = FALSE,
  xtext_type_hor = TRUE,
  xtext_size = 10,
  xtext_keep = TRUE,
  xtitle_keep = TRUE,
  ytitle_size = 17,
  ylab_title = NULL
)
Arguments
color_values

default RColorBrewer::brewer.pal(12, "Paired"); colors palette for the plotting.

bar_type

default "full"; "full" or "notfull"; if full, the total abundance sum to 1 or 100 percentage.

others_color

default "grey90"; the color for "others" taxa.

facet

default NULL; if using facet, providing a group column name of sample_table, such as, "Group".

facet2

default NULL; the second facet, used with facet parameter together; facet2 should have a finer scale; use this parameter, please first install package ggh4x using install.packages("ggh4x")

order_facet

NULL; vector; used to order the facet, such as, c("Group1", "Group3", "Group2").

x_axis_name

NULL; a character string; a column name of sample_table used to show the sample names in x axis.

order_x

default NULL; vector; used to order the sample names in x axis; must be the samples vector, such as, c("S1", "S3", "S2").

barwidth

default NULL; bar width, see width in geom_bar.

use_alluvium

default FALSE; whether add alluvium plot

clustering

default FALSE; whether order samples by the clustering

facet_color

default "grey95"; facet background color.

strip_text

default 11; facet text size.

legend_text_italic

default FALSE; whether use italic in legend.

xtext_type_hor

default TRUE; x axis text horizontal, if FALSE; text slant.

xtext_size

default 10; x axis text size.

xtext_keep

default TRUE; whether retain x text.

xtitle_keep

default TRUE; whether retain x title.

ytitle_size

default 17; y axis title size.

ylab_title

default NULL; y axis title.

Returns

ggplot2 plot.

Examples
\donttest{
t1$plot_bar(facet = "Group", xtext_keep = FALSE)
}

Method plot_heatmap()

Plot the heatmap.

Usage
trans_abund$plot_heatmap(
  color_values = rev(RColorBrewer::brewer.pal(n = 11, name = "RdYlBu")),
  facet = NULL,
  order_facet = NULL,
  x_axis_name = NULL,
  order_x = NULL,
  withmargin = TRUE,
  plot_numbers = FALSE,
  plot_text_size = 4,
  plot_breaks = NULL,
  margincolor = "white",
  plot_colorscale = "log10",
  min_abundance = 0.01,
  max_abundance = NULL,
  strip_text = 11,
  xtext_size = 10,
  ytext_size = 11,
  xtext_keep = TRUE,
  xtitle_keep = TRUE,
  grid_clean = TRUE,
  xtext_type_hor = TRUE,
  pheatmap = FALSE,
  ...
)
Arguments
color_values

default rev(RColorBrewer::brewer.pal(n = 11, name = "RdYlBu")); colors palette for the plotting.

facet

default NULL; a character string; if using facet, provide a column name in sample_table, such as "Group".

order_facet

NULL; vector; used to order the facet, such as, c("Group1", "Group3", "Group2").

x_axis_name

NULL; a character string; a column name of sample_table used to show the sample names in x axis.

order_x

default NULL; vector; used to order the sample names in x axis; must be the samples vector, such as, c("S1", "S3", "S2").

withmargin

default TRUE; whether retain the tile margin.

plot_numbers

default FALSE; whether plot the number in heatmap.

plot_text_size

default 4; If plot_numbers TRUE, text size in plot.

plot_breaks

default NULL; The legend breaks.

margincolor

default "white"; If withmargin TRUE, use this as the margin color.

plot_colorscale

default "log10"; color scale.

min_abundance

default .01; the minimum abundance percentage in plot.

max_abundance

default NULL; the maximum abundance percentage in plot, NULL reprensent the max percentage.

strip_text

default 11; facet text size.

xtext_size

default 10; x axis text size.

ytext_size

default 11; y axis text size.

xtext_keep

default TRUE; whether retain x text.

xtitle_keep

default TRUE; whether retain x title.

grid_clean

default TRUE; whether remove grid lines.

xtext_type_hor

default TRUE; x axis text horizontal, if FALSE; text slant.

pheatmap

default FALSE; whether use pheatmap package to plot the heatmap.

...

paremeters pass to pheatmap when pheatmap = TRUE.

Returns

ggplot2 plot or grid plot based on pheatmap.

Examples
\donttest{
t1 <- trans_abund$new(dataset = dataset, taxrank = "Genus", ntaxa = 40)
t1$plot_heatmap(facet = "Group", xtext_keep = FALSE, withmargin = FALSE)
}

Method plot_box()

Box plot.

Usage
trans_abund$plot_box(
  color_values = RColorBrewer::brewer.pal(8, "Dark2"),
  group = NULL,
  show_point = FALSE,
  point_color = "black",
  point_size = 3,
  point_alpha = 0.3,
  plot_flip = FALSE,
  boxfill = TRUE,
  middlecolor = "grey95",
  middlesize = 1,
  xtext_type_hor = FALSE,
  xtext_size = 10,
  xtext_keep = TRUE,
  xtitle_keep = TRUE,
  ytitle_size = 17,
  ...
)
Arguments
color_values

default RColorBrewer::brewer.pal(8, "Dark2"); colors palette for the plotting.

group

default NULL; a column name of sample table to show abundance across groups.

show_point

default FALSE; whether show points in plot.

point_color

default "black"; If show_point TRUE; use the color

point_size

default 3; If show_point TRUE; use the size

point_alpha

default .3; If show_point TRUE; use the transparency.

plot_flip

default FALSE; Whether rotate plot.

boxfill

default TRUE; Whether fill the box with colors.

middlecolor

default "grey95"; The middle line color.

middlesize

default 1; The middle line size.

xtext_type_hor

default TRUE; x axis text horizontal, if FALSE; text slant.

xtext_size

default 10; x axis text size.

xtext_keep

default TRUE; whether retain x text.

xtitle_keep

default TRUE; whether retain x title.

ytitle_size

default 17; y axis title size.

...

parameters pass to geom_boxplot.

Returns

ggplot2 plot.

Examples
\donttest{
t1$plot_box(group = "Group")
}

Method plot_line()

Plot the line chart.

Usage
trans_abund$plot_line(
  color_values = RColorBrewer::brewer.pal(8, "Dark2"),
  plot_SE = TRUE,
  position = position_dodge(0.1),
  errorbar_size = 1,
  errorbar_width = 0.1,
  point_size = 3,
  point_alpha = 0.8,
  line_size = 0.8,
  line_alpha = 0.8,
  line_type = 1,
  xtext_type_hor = FALSE,
  xtext_size = 10,
  ytitle_size = 17
)
Arguments
color_values

default RColorBrewer::brewer.pal(8, "Dark2"); colors palette for the plotting.

plot_SE

default TRUE; TRUE: plot the errorbar with mean±se; FALSE: plot the errorbar with mean±sd.

position

default position_dodge(0.1); Position adjustment, either as a string (such as "identity"), or the result of a call to a position adjustment function.

errorbar_size

default 1; errorbar size.

errorbar_width

default 0.1; errorbar width.

point_size

default 3; point size for taxa.

point_alpha

default 0.8; point transparency.

line_size

default 0.8; line size.

line_alpha

default 0.8; line transparency.

line_type

default 1; an integer; line type.

xtext_type_hor

default TRUE; x axis text horizontal, if FALSE; text slant.

xtext_size

default 10; x axis text size.

ytitle_size

default 17; y axis title size.

Returns

ggplot2 plot.

Examples
\donttest{
t1 <- trans_abund$new(dataset = dataset, taxrank = "Genus", ntaxa = 5)
t1$plot_line(point_size = 3)
t1 <- trans_abund$new(dataset = dataset, taxrank = "Genus", ntaxa = 5, groupmean = "Group")
t1$plot_line(point_size = 5, errorbar_size = 1, xtext_type_hor = TRUE)
}

Method plot_pie()

Plot pie chart.

Usage
trans_abund$plot_pie(
  color_values = RColorBrewer::brewer.pal(8, "Dark2"),
  facet_nrow = 1,
  strip_text = 11,
  legend_text_italic = FALSE
)
Arguments
color_values

default RColorBrewer::brewer.pal(8, "Dark2"); colors palette for the plotting.

facet_nrow

default 1; how many rows in the plot.

strip_text

default 11; sample title size.

legend_text_italic

default FALSE; whether use italic in legend.

Returns

ggplot2 plot.

Examples
\donttest{
t1 <- trans_abund$new(dataset = dataset, taxrank = "Phylum", ntaxa = 6, groupmean = "Group")
t1$plot_pie(facet_nrow = 1)
}

Method print()

Print the trans_abund object.

Usage
trans_abund$print()

Method clone()

The objects of this class are cloneable with this method.

Usage
trans_abund$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

## ------------------------------------------------
## Method `trans_abund$new`
## ------------------------------------------------


data(dataset)
t1 <- trans_abund$new(dataset = dataset, taxrank = "Phylum", ntaxa = 10)


## ------------------------------------------------
## Method `trans_abund$plot_bar`
## ------------------------------------------------


t1$plot_bar(facet = "Group", xtext_keep = FALSE)


## ------------------------------------------------
## Method `trans_abund$plot_heatmap`
## ------------------------------------------------


t1 <- trans_abund$new(dataset = dataset, taxrank = "Genus", ntaxa = 40)
t1$plot_heatmap(facet = "Group", xtext_keep = FALSE, withmargin = FALSE)


## ------------------------------------------------
## Method `trans_abund$plot_box`
## ------------------------------------------------


t1$plot_box(group = "Group")


## ------------------------------------------------
## Method `trans_abund$plot_line`
## ------------------------------------------------


t1 <- trans_abund$new(dataset = dataset, taxrank = "Genus", ntaxa = 5)
t1$plot_line(point_size = 3)
t1 <- trans_abund$new(dataset = dataset, taxrank = "Genus", ntaxa = 5, groupmean = "Group")
t1$plot_line(point_size = 5, errorbar_size = 1, xtext_type_hor = TRUE)


## ------------------------------------------------
## Method `trans_abund$plot_pie`
## ------------------------------------------------


t1 <- trans_abund$new(dataset = dataset, taxrank = "Phylum", ntaxa = 6, groupmean = "Group")
t1$plot_pie(facet_nrow = 1)

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.