| trans_nullmodel {microeco} | R Documentation |
Create trans_nullmodel object for phylogeny- and taxonomy-based null model analysis.
Description
This class is a wrapper for a series of null model related approaches, including the mantel correlogram analysis of phylogenetic signal, beta nearest taxon index (betaNTI), beta net relatedness index (betaNRI), NTI, NRI and RCbray calculations; See Stegen et al. (2013) <10.1038/ismej.2013.93> and Liu et al. (2017) <doi:10.1038/s41598-017-17736-w> for the algorithms and applications.
Methods
Public methods
Method new()
Usage
trans_nullmodel$new( dataset = NULL, filter_thres = 0, taxa_number = NULL, group = NULL, select_group = NULL, env_cols = NULL, add_data = NULL, complete_na = FALSE )
Arguments
datasetthe object of
microtableClass.filter_thresdefault 0; the relative abundance threshold.
taxa_numberdefault NULL; how many taxa the user want to keep, if provided, filter_thres parameter will be forcible invalid.
groupdefault NULL; which column name in sample_table is selected as the group for the following selection.
select_groupdefault NULL; one or more elements in
group, used to select samples.env_colsdefault NULL; number or name vector to select the environmental data in dataset$sample_table.
add_datadefault NULL; provide environmental data table additionally.
complete_nadefault FALSE; whether fill the NA in environmental data based on the method in mice package.
Returns
data_comm and data_tree in object.
Examples
data(dataset) data(env_data_16S) t1 <- trans_nullmodel$new(dataset, filter_thres = 0.0005, add_data = env_data_16S)
Method cal_mantel_corr()
Calculate mantel correlogram.
Usage
trans_nullmodel$cal_mantel_corr( use_env = NULL, break.pts = seq(0, 1, 0.02), cutoff = FALSE, ... )
Arguments
use_envdefault NULL; numeric or character vector to select env_data; if provide multiple variables or NULL, use PCA (principal component analysis) to reduce dimensionality.
break.ptsdefault seq(0, 1, 0.02); see break.pts parameter in
mantel.correlogofveganpackage.cutoffdefault FALSE; see cutoff parameter in
mantel.correlog....parameters pass to
mantel.correlog.
Returns
res_mantel_corr in object.
Examples
\dontrun{
t1$cal_mantel_corr(use_env = "pH")
}
Method plot_mantel_corr()
Plot mantel correlogram.
Usage
trans_nullmodel$plot_mantel_corr(point_shape = 22, point_size = 3)
Arguments
point_shapedefault 22; the number for selecting point shape type; see
ggplot2manual for the number meaning.point_sizedefault 3; the point size.
Returns
ggplot.
Examples
\dontrun{
t1$plot_mantel_corr()
}
Method cal_betampd()
Calculate betaMPD (mean pairwise distance). Same with picante::comdist function, but faster.
Usage
trans_nullmodel$cal_betampd(abundance.weighted = TRUE)
Arguments
abundance.weighteddefault TRUE; whether use abundance-weighted method.
Returns
res_betampd in object.
Examples
\donttest{
t1$cal_betampd(abundance.weighted = TRUE)
}
Method cal_betamntd()
Calculate betaMNTD (mean nearest taxon distance). Same with picante::comdistnt package, but faster.
Usage
trans_nullmodel$cal_betamntd( abundance.weighted = TRUE, exclude.conspecifics = FALSE, use_iCAMP = FALSE, use_iCAMP_force = TRUE, iCAMP_tempdir = NULL, ... )
Arguments
abundance.weighteddefault TRUE; whether use abundance-weighted method.
exclude.conspecificsdefault FALSE; see
exclude.conspecificsparameter incomdistntfunction ofpicantepackage.use_iCAMPdefault FALSE; whether use
bmntd.bigfunction ofiCAMPpackage to calculate betaMNTD. This method can store the phylogenetic distance matrix on the disk to lower the memory spending and perform the calculation parallelly.use_iCAMP_forcedefault FALSE; whether use
bmntd.bigfunction ofiCAMPpackage automatically when the feature number is large.iCAMP_tempdirdefault NULL; the temporary directory used to place the large tree file; If NULL; use the system user tempdir.
...paremeters pass to
iCAMP::pdist.bigfunction.
Returns
res_betamntd in object.
Examples
\donttest{
t1$cal_betamntd(abundance.weighted = TRUE)
}
Method cal_ses_betampd()
Calculate standardized effect size of betaMPD, i.e. beta net relatedness index (betaNRI).
Usage
trans_nullmodel$cal_ses_betampd(
runs = 1000,
null.model = c("taxa.labels", "richness", "frequency", "sample.pool", "phylogeny.pool",
"independentswap", "trialswap")[1],
abundance.weighted = TRUE,
iterations = 1000
)Arguments
runsdefault 1000; simulation runs.
null.modeldefault "taxa.labels"; The available options include "taxa.labels", "richness", "frequency", "sample.pool", "phylogeny.pool", "independentswap"and "trialswap"; see
null.modelparameter ofses.mntdfunction inpicantepackage for the algorithm details.abundance.weighteddefault TRUE; whether use weighted abundance.
iterationsdefault 1000; iteration number for part null models to perform; see iterations parameter of
picante::randomizeMatrixfunction.
Returns
res_ses_betampd in object.
Examples
\dontrun{
# only run 50 times for the example; default 1000
t1$cal_ses_betampd(runs = 50, abundance.weighted = TRUE)
}
Method cal_ses_betamntd()
Calculate standardized effect size of betaMNTD, i.e. beta nearest taxon index (betaNTI).
Usage
trans_nullmodel$cal_ses_betamntd(
runs = 1000,
null.model = c("taxa.labels", "richness", "frequency", "sample.pool", "phylogeny.pool",
"independentswap", "trialswap")[1],
abundance.weighted = TRUE,
exclude.conspecifics = FALSE,
use_iCAMP = FALSE,
use_iCAMP_force = TRUE,
iCAMP_tempdir = NULL,
nworker = 2,
iterations = 1000
)Arguments
runsdefault 1000; simulation number of null model.
null.modeldefault "taxa.labels"; The available options include "taxa.labels", "richness", "frequency", "sample.pool", "phylogeny.pool", "independentswap"and "trialswap"; see
null.modelparameter ofses.mntdfunction inpicantepackage for the algorithm details.abundance.weighteddefault TRUE; whether use abundance-weighted method.
exclude.conspecificsdefault FALSE; see
comdistntin picante package.use_iCAMPdefault FALSE; whether use bmntd.big function of iCAMP package to calculate betaMNTD. This method can store the phylogenetic distance matrix on the disk to lower the memory spending and perform the calculation parallelly.
use_iCAMP_forcedefault FALSE; whether to make use_iCAMP to be TRUE when the feature number is large.
iCAMP_tempdirdefault NULL; the temporary directory used to place the large tree file; If NULL; use the system user tempdir.
nworkerdefault 2; the CPU thread number.
iterationsdefault 1000; iteration number for part null models to perform; see iterations parameter of
picante::randomizeMatrixfunction.
Returns
res_ses_betamntd in object.
Examples
\dontrun{
# only run 50 times for the example; default 1000
t1$cal_ses_betamntd(runs = 50, abundance.weighted = TRUE, exclude.conspecifics = FALSE)
}
Method cal_rcbray()
Calculate Bray–Curtis-based Raup–Crick (RCbray) <doi: 10.1890/ES10-00117.1>.
Usage
trans_nullmodel$cal_rcbray( runs = 1000, verbose = TRUE, null.model = "independentswap" )
Arguments
runsdefault 1000; simulation runs.
verbosedefault TRUE; whether show the calculation process message.
null.modeldefault "independentswap"; see more available options in
randomizeMatrixfunction ofpicantepackage.
Returns
res_rcbray in object.
Examples
\dontrun{
# only run 50 times for the example; default 1000
t1$cal_rcbray(runs = 50)
}
Method cal_process()
Infer the ecological processes according to ses.betaMNTD/ses.betaMPD and rcbray.
Usage
trans_nullmodel$cal_process(use_betamntd = TRUE, group = NULL)
Arguments
use_betamntddefault TRUE; whether use ses.betaMNTD; if false, use ses.betaMPD.
groupdefault NULL; a column name in sample_table of microtable object. If provided, the analysis will be performed for each group instead of the whole.
Returns
res_process in object.
Examples
\dontrun{
t1$cal_process(use_betamntd = TRUE)
}
Method cal_NRI()
Calculates Nearest Relative Index (NRI), equivalent to -1 times the standardized effect size of MPD.
Usage
trans_nullmodel$cal_NRI( null.model = "taxa.labels", abundance.weighted = FALSE, runs = 999, ... )
Arguments
null.modeldefault "taxa.labels"; Null model to use; see
null.modelparameter inses.mpdfunction ofpicantepackage for available options.abundance.weighteddefault FALSE; Should mean nearest relative distances for each species be weighted by species abundance?
runsdefault 999; Number of randomizations.
...paremeters pass to ses.mpd function in picante package.
Returns
res_NRI in object, equivalent to -1 times ses.mpd.
Examples
\donttest{
# only run 50 times for the example; default 999
t1$cal_NRI(null.model = "taxa.labels", abundance.weighted = FALSE, runs = 50)
}
Method cal_NTI()
Calculates Nearest Taxon Index (NTI), equivalent to -1 times the standardized effect size of MNTD.
Usage
trans_nullmodel$cal_NTI( null.model = "taxa.labels", abundance.weighted = FALSE, runs = 999, ... )
Arguments
null.modeldefault "taxa.labels"; Null model to use; see
null.modelparameter inses.mntdfunction ofpicantepackage for available options.abundance.weighteddefault FALSE; Should mean nearest taxon distances for each species be weighted by species abundance?
runsdefault 999; Number of randomizations.
...paremeters pass to
ses.mntdfunction inpicantepackage.
Returns
res_NTI in object, equivalent to -1 times ses.mntd.
Examples
\donttest{
# only run 50 times for the example; default 999
t1$cal_NTI(null.model = "taxa.labels", abundance.weighted = TRUE, runs = 50)
}
Method cal_Cscore()
Calculates the (normalised) mean number of checkerboard combinations (C-score) using C.score function in bipartite package.
Usage
trans_nullmodel$cal_Cscore(by_group = NULL, ...)
Arguments
by_groupdefault NULL; one column name or number in sample_table; calculate C-score for different groups separately.
...paremeters pass to
bipartite::C.scorefunction.
Returns
vector.
Examples
\dontrun{
t1$cal_Cscore(normalise = FALSE)
t1$cal_Cscore(by_group = "Group", normalise = FALSE)
}
Method cal_NST()
Calculate normalized stochasticity ratio (NST) based on the NST package.
Usage
trans_nullmodel$cal_NST(method = "tNST", group, ...)
Arguments
methoddefault "tNST";
'tNST'or'pNST'. See the help document oftNSTorpNSTfunction inNSTpackage for more details.groupa colname of
sample_tablein microtable object; the function can select the data from sample_table to generate a one-column (n x 1) matrix and provide it to the group parameter oftNSTorpNSTfunction....paremeters pass to
NST::tNSTorNST::pNSTfunction; see the document of corresponding function for more details.
Returns
res_NST stored in the object.
Examples
\dontrun{
t1$cal_NST(group = "Group", dist.method = "bray", output.rand = TRUE, SES = TRUE)
}
Method cal_NST_test()
Test the significance of NST difference between each pair of groups.
Usage
trans_nullmodel$cal_NST_test(method = "nst.boot", ...)
Arguments
methoddefault "nst.boot"; "nst.boot" or "nst.panova"; see
NST::nst.bootfunction orNST::nst.panovafunction for the details....paremeters pass to NST::nst.boot when method = "nst.boot" or NST::nst.panova when method = "nst.panova".
Returns
list. See the Return part of NST::nst.boot function or NST::nst.panova function in NST package.
Examples
\dontrun{
t1$cal_NST_test()
}
Method cal_NST_convert()
Convert NST paired long format table to symmetric matrix form.
Usage
trans_nullmodel$cal_NST_convert(column = 10)
Arguments
columndefault 10; which column is selected for the conversion. See the columns of
res_NST$index.pairstored in the object.
Returns
symmetric matrix.
Examples
\dontrun{
t1$cal_NST_convert(column = 10)
}
Method clone()
The objects of this class are cloneable with this method.
Usage
trans_nullmodel$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
Examples
## ------------------------------------------------
## Method `trans_nullmodel$new`
## ------------------------------------------------
data(dataset)
data(env_data_16S)
t1 <- trans_nullmodel$new(dataset, filter_thres = 0.0005, add_data = env_data_16S)
## ------------------------------------------------
## Method `trans_nullmodel$cal_mantel_corr`
## ------------------------------------------------
## Not run:
t1$cal_mantel_corr(use_env = "pH")
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$plot_mantel_corr`
## ------------------------------------------------
## Not run:
t1$plot_mantel_corr()
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$cal_betampd`
## ------------------------------------------------
t1$cal_betampd(abundance.weighted = TRUE)
## ------------------------------------------------
## Method `trans_nullmodel$cal_betamntd`
## ------------------------------------------------
t1$cal_betamntd(abundance.weighted = TRUE)
## ------------------------------------------------
## Method `trans_nullmodel$cal_ses_betampd`
## ------------------------------------------------
## Not run:
# only run 50 times for the example; default 1000
t1$cal_ses_betampd(runs = 50, abundance.weighted = TRUE)
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$cal_ses_betamntd`
## ------------------------------------------------
## Not run:
# only run 50 times for the example; default 1000
t1$cal_ses_betamntd(runs = 50, abundance.weighted = TRUE, exclude.conspecifics = FALSE)
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$cal_rcbray`
## ------------------------------------------------
## Not run:
# only run 50 times for the example; default 1000
t1$cal_rcbray(runs = 50)
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$cal_process`
## ------------------------------------------------
## Not run:
t1$cal_process(use_betamntd = TRUE)
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$cal_NRI`
## ------------------------------------------------
# only run 50 times for the example; default 999
t1$cal_NRI(null.model = "taxa.labels", abundance.weighted = FALSE, runs = 50)
## ------------------------------------------------
## Method `trans_nullmodel$cal_NTI`
## ------------------------------------------------
# only run 50 times for the example; default 999
t1$cal_NTI(null.model = "taxa.labels", abundance.weighted = TRUE, runs = 50)
## ------------------------------------------------
## Method `trans_nullmodel$cal_Cscore`
## ------------------------------------------------
## Not run:
t1$cal_Cscore(normalise = FALSE)
t1$cal_Cscore(by_group = "Group", normalise = FALSE)
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$cal_NST`
## ------------------------------------------------
## Not run:
t1$cal_NST(group = "Group", dist.method = "bray", output.rand = TRUE, SES = TRUE)
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$cal_NST_test`
## ------------------------------------------------
## Not run:
t1$cal_NST_test()
## End(Not run)
## ------------------------------------------------
## Method `trans_nullmodel$cal_NST_convert`
## ------------------------------------------------
## Not run:
t1$cal_NST_convert(column = 10)
## End(Not run)