Description Usage Arguments Value Author(s) References See Also Examples
Given a matrix M, an alpha diversity measure f and a number of repetitions k, the function produces k random values of f based on the individual-based model. This is equivalent to shuffling M according to this model as many as k times , each time outputing the value of f only for a certain row (e.g. the top one) of the shuffled matrix. The output values can be used to determine the null distribution of f for a row of M. This distribution is the same for every row of M. This is because the examined null model produces the same distribution for all rows of M; after shuffling M, each row has the same probability to store a specific community C as any other in the resulting matrix.
1 | individual.based.random.values.a(matrix,f,args,reps=1000)
|
matrix |
A matrix with integer values. The matrix should not contain any NA values. |
f |
An alpha diversity function f. The interface of f should be such that f(matrix,args) returns a numeric vector V where the i-th element of V is equal to the value of f when applied at the i-th row of the given matrix. To fit to this interface, the user might have to develop f as a wrapper around an existing R function (see Examples). |
args |
A list with extra arguments needed by f. |
reps |
The number of randomizations. This argument is optional and its default value is set to one thousand. |
A vector of as many as reps elements. Stores the randomized values of f calculated based on the individual-based null model.
Constantinos Tsirogiannis (tsirogiannis.c@gmail.com)
Stegen, J. C., Freestone, A. L., Crist, T. O., Anderson, M. J., Chase, J. M., Comita, L. S., Cornell, H. V., Davies, K. F., Harrison, S. P., Hurlbert, A. H., Inouye, B. D., Kraft, N. J. B., Myers, J. A., Sanders, N. J., Swenson, N. G., Vellend, M. (2013), Stochastic and Deterministic Drivers of Spatial and Temporal Turnover in Breeding Bird Communities. Global Ecology and Biogeography, 22: 202-212.
Tsirogiannis, C., A. Kalvisa, B. Sandel and T. Conradi. Column-Shuffling Null Models Are Simpler Than You Thought. To appear.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #In the next example null-model calculations are
#performed using a function of phylogenetic diversity.
#Hence, we first load the required packages.
require(CNull)
require(ape)
require(PhyloMeasures)
#Load phylogenetic tree of bird families from package "ape"
data(bird.families, package = "ape")
#Create 100 random communities with 50 families each
comm = matrix(0,nrow = 100,ncol = length(bird.families$tip.label))
for(i in 1:nrow(comm)) {comm[i,sample(1:ncol(comm),50)] = 1}
colnames(comm) = bird.families$tip.label
#Set function f to be the Phylogenetic Diversity measure (PD)
#as defined in the R package PhyloMeasures.
my.f = function(mt,args){ return (pd.query(args[[1]],mt))}
# This function takes one extra argument, which is a phylogenetic tree.
# Hence, create a list whose only element is the desired tree.
arguments = list()
arguments[[1]] = bird.families
# Calculate 2000 randomized values of f on comm
# based on the individual-based null model.
individual.based.random.values.a(comm,f=my.f,args=arguments,reps=2000)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.