[R-sig-eco] mvabund-interprating the uni.test
Maas, Kendra
kendrami at mail.ubc.ca
Thu Oct 23 00:07:38 CEST 2014
I'm using mvabund uni.test to select species that are changing according to a treatment gradient. I've pulled out species that have a significantly different intercept from the null but I'd also like to indicate if they are positive or negative with treatment and extract the "sum-of-LR" as Warton does in the paper showing the usefulness of this approach (http://onlinelibrary.wiley.com/doi/10.1111/j.2041-210X.2011.00127.x/abstract). I've run manyglm followed by anova on the spider data to try to match the mvabund documentation but I can't figure out where the results beyond the p-values are stored, here are the str for the manyglm and anova output. (the dput are huge)
thanks
Kendra
> str(glm.spid)
List of 41
$ coefficients : num [1:3, 1:12] 2.2353 0.0582 -1.3425 2.1552 -0.4229 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:3] "(Intercept)" "bare.sand" "fallen.leaves"
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ var.coefficients : num [1:3, 1:12] 0.1068 0.0185 0.1351 0.252 0.0466 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:3] "(Intercept)" "bare.sand" "fallen.leaves"
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ fitted.values : num [1:28, 1:12] 9.349 0.843 9.349 9.349 9.349 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ linear.predictor : num [1:28, 1:12] 2.24 -0.17 2.24 2.24 2.24 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ residuals : num [1:28, 1:12] 1.767 -0.778 0.638 -0.83 -0.943 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ PIT.residuals : num [1:28, 1:12] 0.934 0.534 0.79 0.238 0.101 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ sqrt.1_Hii : num [1:28, 1:12] 0.945 0.89 0.945 0.945 0.945 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ var.estimator : num [1:28, 1:12] 87.79 1.48 87.79 87.79 87.79 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ sqrt.weight : num [1:28, 1:12] 0.998 0.693 0.998 0.998 0.998 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ theta : Named num [1:12] 1.114 0.428 1.301 0.156 0.715 ...
..- attr(*, "names")= chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ two.loglike : Named num [1:12] -121.5 -142.1 -78.9 -60.6 -44.5 ...
..- attr(*, "names")= chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ deviance : Named num [1:12] 22.2 29.4 18.7 16 10.5 ...
..- attr(*, "names")= chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ aic : Named num [1:12] 129.5 150.1 86.9 68.6 52.5 ...
..- attr(*, "names")= chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ iter : Named num [1:12] 3 3 6 4 5 4 4 5 4 4 ...
..- attr(*, "names")= chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ data :'data.frame': 28 obs. of 3 variables:
..$ spiddat : int [1:28, 1:12] 25 0 15 2 1 0 2 0 1 3 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
.. ..- attr(*, "class")= chr [1:2] "mvabund" "matrix"
..$ bare.sand : num [1:28] 0 0 0 0 0 ...
..$ fallen.leaves: num [1:28] 0 1.79 0 0 0 ...
..- attr(*, "terms")=Classes 'terms', 'formula' length 3 spiddat ~ bare.sand + fallen.leaves
.. .. ..- attr(*, "variables")= language list(spiddat, bare.sand, fallen.leaves)
.. .. ..- attr(*, "factors")= int [1:3, 1:2] 0 1 0 0 0 1
.. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. ..$ : chr [1:3] "spiddat" "bare.sand" "fallen.leaves"
.. .. .. .. ..$ : chr [1:2] "bare.sand" "fallen.leaves"
.. .. ..- attr(*, "term.labels")= chr [1:2] "bare.sand" "fallen.leaves"
.. .. ..- attr(*, "order")= int [1:2] 1 1
.. .. ..- attr(*, "intercept")= int 1
.. .. ..- attr(*, "response")= int 1
.. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. .. ..- attr(*, "predvars")= language list(spiddat, bare.sand, fallen.leaves)
.. .. ..- attr(*, "dataClasses")= Named chr [1:3] "nmatrix.12" "numeric" "numeric"
.. .. .. ..- attr(*, "names")= chr [1:3] "spiddat" "bare.sand" "fallen.leaves"
$ stderr.coefficients: num [1:3, 1:12] 0.327 0.136 0.368 0.502 0.216 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:3] "(Intercept)" "bare.sand" "fallen.leaves"
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ phi : Named num [1:12] 0.897 2.338 0.768 6.43 1.399 ...
..- attr(*, "names")= chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ tol : num 1.49e-08
$ maxiter : num 25
$ maxiter2 : num 10
$ AIC : Named num [1:12] 129.5 150.1 86.9 68.6 52.5 ...
..- attr(*, "names")= chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ AICsum : num 1658
$ family : chr "negative.binomial"
$ K : num 1
$ theta.method : chr "PHI"
$ cor.type : chr "I"
$ shrink.param : num 0
$ call : language manyglm(formula = spiddat ~ bare.sand + fallen.leaves, family = "negative.binomial", data = X)
$ terms :Classes 'terms', 'formula' length 3 spiddat ~ bare.sand + fallen.leaves
.. ..- attr(*, "variables")= language list(spiddat, bare.sand, fallen.leaves)
.. ..- attr(*, "factors")= int [1:3, 1:2] 0 1 0 0 0 1
.. .. ..- attr(*, "dimnames")=List of 2
.. .. .. ..$ : chr [1:3] "spiddat" "bare.sand" "fallen.leaves"
.. .. .. ..$ : chr [1:2] "bare.sand" "fallen.leaves"
.. ..- attr(*, "term.labels")= chr [1:2] "bare.sand" "fallen.leaves"
.. ..- attr(*, "order")= int [1:2] 1 1
.. ..- attr(*, "intercept")= int 1
.. ..- attr(*, "response")= int 1
.. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
.. ..- attr(*, "predvars")= language list(spiddat, bare.sand, fallen.leaves)
.. ..- attr(*, "dataClasses")= Named chr [1:3] "nmatrix.12" "numeric" "numeric"
.. .. ..- attr(*, "names")= chr [1:3] "spiddat" "bare.sand" "fallen.leaves"
$ assign : int [1:3] 0 1 2
$ formula :Class 'formula' length 3 spiddat ~ bare.sand + fallen.leaves
.. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
$ rank : int 3
$ xlevels : Named list()
$ df.residual : int 25
$ x : num [1:28, 1:3] 1 1 1 1 1 1 1 1 1 1 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:3] "(Intercept)" "bare.sand" "fallen.leaves"
$ y : num [1:28, 1:12] 25 0 15 2 1 0 2 0 1 3 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ qr :List of 4
..$ qr : num [1:28, 1:3] -5.292 0.189 0.189 0.189 0.189 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:28] "1" "2" "3" "4" ...
.. .. ..$ : chr [1:3] "(Intercept)" "bare.sand" "fallen.leaves"
..$ rank : int 3
..$ qraux: num [1:3] 1.19 1.11 1.18
..$ pivot: int [1:3] 1 2 3
..- attr(*, "class")= chr "qr"
$ show.coef : logi FALSE
$ show.fitted : logi FALSE
$ show.residuals : logi FALSE
$ offset : num [1:28, 1:12] 0 0 0 0 0 0 0 0 0 0 ...
- attr(*, "class")= chr [1:2] "manyglm" "mglm"
> str(an.spid)
List of 11
$ family : chr "negative.binomial"
$ p.uni : chr "adjusted"
$ test : chr "Dev"
$ cor.type : chr "I"
$ resamp : chr "pit.trap"
$ nBoot : num 1000
$ shrink.param: num [1:3] 0 0 0
$ n.bootsdone : num 999
$ table :'data.frame': 3 obs. of 4 variables:
..$ Res.Df : int [1:3] 27 26 25
..$ Df.diff : num [1:3] NA 1 1
..$ Dev : num [1:3] NA 70.4 70.3
..$ Pr(>Dev): num [1:3] NA 0.002 0.007
..- attr(*, "heading")= chr [1:3] "Analysis of Deviance Table\n" "Model: manyglm(formula = spiddat ~ bare.sand + fallen.leaves, family = \"negative.binomial\", " "Model: data = X)"
..- attr(*, "title")= chr "\nMultivariate test:\n"
$ uni.p : num [1:3, 1:12] NA 0.568 0.001 NA 0.485 0.988 NA 0.001 0.074 NA ...
..- attr(*, "title")= chr "\nUnivariate Tests:\n"
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:3] "(Intercept)" "bare.sand" "fallen.leaves"
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
$ uni.test : num [1:3, 1:12] NA 1.22 27.64 NA 2.42 ...
..- attr(*, "title")= chr "\nUnivariate Tests:\n"
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:3] "(Intercept)" "bare.sand" "fallen.leaves"
.. ..$ : chr [1:12] "Alopacce" "Alopcune" "Alopfabr" "Arctlute" ...
- attr(*, "class")= chr "anova.manyglm"
--
Kendra Maas, Ph.D.
Post Doctoral Research Fellow
University of British Columbia
604-822-5646
More information about the R-sig-ecology
mailing list