Tstats: Computing observed T-statistics (T for Traits) and null... In cati: Community Assembly by Traits: Individuals and Beyond

Description

Computing observed T-statistics (T for Traits) as three ratios of variance, namely T_IP.IC, T_IC.IR and T_PC.PR. This function can also return the distribution of this three statistics under null models.

Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20``` ``` Tstats(traits, ind.plot, sp, SE = 0, reg.pool = NULL, SE.reg.pool = NULL, nperm = 99, printprogress = TRUE) sum_Tstats(x, val.quant = c(0.025, 0.975), type = "all") ses.Tstats(x, val.quant = c(0.025, 0.975)) ## S3 method for class 'Tstats' barplot(height, val.quant = c(0.025, 0.975), col.index = c("red", "purple", "olivedrab3", "white"), ylim = NULL, ...) ## S3 method for class 'Tstats' plot(x, type = "normal", col.index = c("red", "purple", "olivedrab3"), add.conf = TRUE, color.cond = TRUE, val.quant = c(0.025, 0.975), ...) ## S3 method for class 'Tstats' print(x, ...) ## S3 method for class 'Tstats' summary(object, ...) ```

Arguments

 `traits` Individual Matrix of traits with traits in columns. For one trait, use as.matrix(). `ind.plot` Factor defining the name of the plot in which the individual is. `sp` Factor defining the species which the individual belong to. `SE` A single value or vector of standard errors associated with each traits. Especially allow to handle measurement errors. Not used with populational null model. `reg.pool` Regional pool data for traits. If not informed, 'traits' is considered as the regional pool. This matrix need to be larger (more rows) than the matrix "traits". Use only for null model 2 (regional.ind). `SE.reg.pool` A single value or vector of standard errors associated with each traits in each regional pool. Use only if reg.pool is used. Need to have the same dimension as reg.pool. `nperm` Number of permutations. If NULL, only observed values are returned; `printprogress` Logical value; print progress during the calculation or not. `x` An object of class Tstats. `height` An object of class Tstats. `object` An object of class Tstats. `val.quant` Numeric vectors of length 2, giving the quantile to calculation confidence interval. By default val.quant = c(0.025,0.975) for a bilateral test with alpha = 5%. `ylim` Numeric vectors of length 2, giving the y coordinates range `col.index` A vector of three color correspond to the three T-statistics. `color.cond` Logical value; If color.cond = TRUE, color points indicate T-statistics values significatively different from the null model and grey points are not different from null model. `type` For the plot function, type of plot. Possible type = "simple", "simple_range", "normal", "barplot" and "bytraits". For the summary function, type of summary statistics. Either "binary", "percent", "p.value", "site" or "all". `add.conf` Logical value; Add confidence intervals or not. `...` Any additional arguments are passed to the plot function creating the core of the plot and can be used to adjust the look of resulting graph. See `plot.listofindex` for more arguments.

Details

S3 method plot:

-Normal type plot means, standard deviations, ranges and confidence intervals of T-statistics.

-Simple_range type plot means, standard deviations and range of T-statistics

-Simple type plot T-statistics for each site and traits and the mean confidence intervals by traits

-Barplot type plot means, standard deviations and confidence intervals of T-statistics in a barplot fashion

-Bysites type plot each metrics for each sites

-Bytraits type plot each metrics for each traits

S3 method print: print the structure if the object of class Tstats

S3 method summary: print the summary statistics of the three T-statistics

Method summary sum_Tstats:

-Binary type only test if a T-statistics is significatively different from the null expectation for each trait.

-Percent type determine the percentage of sites were the T-statistics is significatively different from the null expectation for each trait. Asterix shows global significance of the test.

-P-value type determine the p-value (two unilateral tests) of the T-statistics for each trait and sites.

-Site type allows to know in which sites T-statistics deviate from the null expectation.

-All type do all the precedent type of summary.

Value

A list of statistics:

 `Tstats\$T_IP.IC` Observed ratio between variance of individuals in populations and individuals in communities `Tstats\$T_IC.IR` Observed ratio between variance of individuals in communities and individuals in the region `Tstats\$T_PC.PR` Observed ratio between variance of populations in communities and populations in the region `\$Tstats\$T_IP.IC_nm` If nperm is numeric; Result of simulation for T_IP.IC `\$Tstats\$T_IC.IR_nm` If nperm is numeric; Result of simulation for T_IC.IR `\$Tstats\$T_PC.PR_nm` If nperm is numeric; Result of simulation for T_PC.PR `\$variances\$var_IP` variance of individuals within populations `\$variances\$var_PC` variance of populations within communities `\$variances\$var_CR` variance of communities within the region `\$variances\$var_IC` variance of individuals within communities `\$variances\$var_PR` variance of populations within the region `\$variances\$var_IR` variance of individuals within the region `\$variances\$var_IP_nm1` variance of individuals within populations in null model 1 `\$variances\$var_PC_nm2sp` variance of populations within communities in null model 2sp `\$variances\$var_IC_nm1` variance of communities within the region in null model 1 `\$variances\$var_IC_nm2` variance of individuals within communities in null model 2 `\$variances\$var_PR_nm2sp` variance of populations within the region in null model 2sp `\$variances\$var_IR_nm2` variance of individuals within the region in null model 2 `\$traits` traits data `\$ind.plot` name of the plot in which the individual is `\$sp` groups (e.g. species) which the individual belong to `\$call` call of the function Tstats

References

Violle, Cyrille, Brian J. Enquist, Brian J. McGill, Lin Jiang, Cecile H. Albert, Catherine Hulshof, Vincent Jung, et Julie Messier. 2012. The return of the variance: intraspecific variability in community ecology. Trends in Ecology & Evolution 27 (4): 244-252. doi:10.1016/j.tree.2011.11.014.

`ComIndex`; `ComIndexMulti`; `plotCorTstats`; `plotSESvar`; `plot.listofindex`
 ``` 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88``` ``` data(finch.ind) res.finch <- Tstats(traits.finch, ind.plot = ind.plot.finch, sp = sp.finch, nperm = 9, print = FALSE) res.finch #Tstats class is associated to S3 methods plot, barplot and summary plot(res.finch) ## Not run: plot(res.finch, type = "simple") plot(res.finch, type = "simple_range") plot(res.finch, type = "barplot") plot(res.finch, type = "bysites") plot(res.finch, type = "bytraits") ## End(Not run) attributes(sum_Tstats(res.finch)) head(sum_Tstats(res.finch)\$p.value, 10) sum_Tstats(res.finch, type = "binary") sum_Tstats(res.finch, type = "percent") sum_Tstats(res.finch, type = "site") sum_Tstats(res.finch, type = "p.value") sum_Tstats(res.finch, type = "all") barplot(res.finch) attributes(sum_Tstats(res.finch)) head(sum_Tstats(res.finch)\$p.value, 10) #### An other way to see "ses values" of T-statistics # Custom theme (from rasterVis package) require(rasterVis) my.theme <- BuRdTheme() # Customize the colorkey my.ckey <- list(col = my.theme\$regions\$col) levelplot(t(ses(res.finch\$Tstats\$T_IP.IC,res.finch\$Tstats\$T_IP.IC_nm)\$ses), colorkey = my.ckey, par.settings = my.theme,border = "black") ## Not run: #### Use a different regional pool than the binding of studied communities #create a random regional pool for the example reg.p <- rbind(traits.finch, traits.finch[sample(1:2000,300), ]) res.finch2 <- Tstats(traits.finch, ind.plot = ind.plot.finch, sp = sp.finch, reg.pool=reg.p, nperm = 9, print = FALSE) plot(as.listofindex(list(res.finch,res.finch2))) #### Use a different regional pool for each communities #create a random regional pool for each communities for the example list.reg.p <- list( traits.finch[sample(1:290,200), ], traits.finch[sample(100:1200,300), ], traits.finch[sample(100:1500, 1000), ], traits.finch[sample(300:800,300), ], traits.finch[sample(1000:2000, 500), ], traits.finch[sample(100:900, 700), ] ) # Warning: the regional pool need to be larger than the observed communities table(ind.plot.finch) # For exemple, the third community need a regional pool of more than 981 individuals res.finch3 <- Tstats(traits.finch, ind.plot = ind.plot.finch, sp = sp.finch, reg.pool=list.reg.p, nperm = 9, print = FALSE) plot(as.listofindex(list(res.finch, res.finch2, res.finch3))) ## End(Not run) #### Use the standard errors of measure in the analysis (argument SE) ## Not run: res.finch.SE0 <- Tstats(traits.finch, ind.plot = ind.plot.finch, sp = sp.finch, SE = 0, print = FALSE) res.finch.SE5 <- Tstats(traits.finch, ind.plot = ind.plot.finch, sp = sp.finch, SE = 5, print = FALSE) plot(as.listofindex(list(res.finch.SE0, res.finch.SE5))) ## End(Not run) ```