[med-svn] [SCM] vegan branch, master, updated. debian/2.0-3-1-10-g049dcc3
Charles Plessy
plessy at debian.org
Thu Apr 4 05:44:31 UTC 2013
The following commit has been merged in the master branch:
commit 8136fa9326d1bc693892664d39ac378a4fe42f6f
Author: Charles Plessy <plessy at debian.org>
Date: Thu Apr 4 14:42:20 2013 +0900
Imported Upstream version 2.0-7
diff --git a/DESCRIPTION b/DESCRIPTION
index c4c1f85..beb5e1d 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
Package: vegan
Title: Community Ecology Package
-Version: 2.0-6
-Date: February 11, 2013
+Version: 2.0-7
+Date: March 19, 2013
Author: Jari Oksanen, F. Guillaume Blanchet, Roeland Kindt, Pierre
Legendre, Peter R. Minchin, R. B. O'Hara, Gavin L. Simpson,
Peter Solymos, M. Henry H. Stevens, Helene Wagner
@@ -13,6 +13,7 @@ Description: Ordination methods, diversity analysis and other functions
for community and vegetation ecologists.
License: GPL-2
URL: http://cran.r-project.org, http://vegan.r-forge.r-project.org/
-Packaged: 2013-02-11 12:34:02 UTC; jarioksa
+Packaged: 2013-03-19 11:34:07 UTC; jarioksa
+NeedsCompilation: yes
Repository: CRAN
-Date/Publication: 2013-02-11 14:26:43
+Date/Publication: 2013-03-19 16:04:57
diff --git a/MD5 b/MD5
index 898fe5c..1ec737a 100644
--- a/MD5
+++ b/MD5
@@ -1,5 +1,5 @@
-b4d5ed51fcb54b4340d9b01e736394e9 *DESCRIPTION
-b938b5c56b97b53217cf1c3f7b7cab12 *NAMESPACE
+4118da91bd5fe845079424bf0750a660 *DESCRIPTION
+e4c6f26e26e7f8e31b4e4a30d13d467e *NAMESPACE
4b8531b446af54510e5fb31f841aed2f *R/AIC.radfit.R
5c5fdbcdc2a38e2cbafdb8f2c5eb2e08 *R/CCorA.R
6592cf7dc692f87b4a147eb625e18624 *R/MDSrotate.R
@@ -102,16 +102,16 @@ ddc17af5f1e4d952cdf0c54048fdc7c0 *R/factorfit.R
7e304b1c384c4d8588e5dbedd9459c73 *R/fieller.MOStest.R
c9a0a434a146ba9ebe25a9e72f36439c *R/fisher.alpha.R
05bd12db4d832b01b37b15294e6fa15f *R/fisherfit.R
-d9ca8944dc5fdfc396e50d118c2638c3 *R/fitspecaccum.R
-dac90ca1c5655d0d1b8c163118d1db7e *R/fitted.capscale.R
+6baa91137f90af022902e047bde687ce *R/fitspecaccum.R
+1db8e420fdd54103774d745d356333b8 *R/fitted.capscale.R
8fc0cd4954e2976b71fe4995291d2fab *R/fitted.cca.R
0080b65cfd48bac5e53961b8e12682e5 *R/fitted.procrustes.R
bdb5429c7c23d1f730c5c7c938fb5e09 *R/fitted.radfit.R
30ff7806ee2f3e93b436fa3d1c00fedf *R/fitted.rda.R
57c9a7ccff6a9c066b2aba3475f2330b *R/goodness.R
-c3bc6f9771503a4b93f4dce3096fd874 *R/goodness.cca.R
+681e6b2273eac6f1724d13ce51ad3cf2 *R/goodness.cca.R
7af5f06020065621d8466decb16e0aa4 *R/goodness.metaMDS.R
-3676ae4dd5c789334fb822a8caa81979 *R/goodness.rda.R
+4188d434bdb95c56734b5e76319bf55e *R/goodness.rda.R
8a767726c40223a58d4055759bf41efe *R/head.summary.cca.R
d17f4f6be45b52e01cd605b09b56a80a *R/hierParseFormula.R
3d19236ee5dd2f1c678061773895e86f *R/hiersimu.R
@@ -142,7 +142,7 @@ fdb2f4786b31866197c80d827584edaf *R/mantel.correlog.R
e054f13ad65a7f2616561c73557b412b *R/meandist.R
57cb748570098b7e5a5aedbddb39fb84 *R/metaMDS.R
26b26e400ead4cf3de31d7eab29c6984 *R/metaMDSdist.R
-e0ae9ef92dbe17d6a919913190311048 *R/metaMDSiter.R
+b4f488ea5456f4f58079691705ac729b *R/metaMDSiter.R
f63315501ad2f3a96dee9ee27a867131 *R/metaMDSredist.R
928df675822d321e4533ba2b7cf0c79f *R/model.frame.cca.R
9406148bd2cfa3e74b83adfe24858c46 *R/model.matrix.cca.R
@@ -158,7 +158,7 @@ f5e79cb1c2dc1fcabb6e6b5cb4dc0828 *R/nestedbetasor.R
c15884dd28790c7521ecb33175c86e5c *R/nesteddisc.R
e65023174f4ce8874a2f88f332af5a37 *R/nestedn0.R
917143cda17f75f9219e7263b79b1fab *R/nestednodf.R
-e27188404c8386162d6af0fb47110a84 *R/nestedtemp.R
+cf4c7acbbf20366f629dee40c9203764 *R/nestedtemp.R
74b2723851155de631716fa479f8ea38 *R/no.shared.R
47973ff187f68836a19d20ea37c60868 *R/nobs.R
dfc5c85777c1dbc55b850dc1ccbf115a *R/oecosimu.R
@@ -244,7 +244,7 @@ e449c6ef786f8802c9806b51248b66cc *R/plot.specaccum.R
abc96c8853871035d494dfa9086d4d6e *R/plot.taxondive.R
6104fadf391072e78a8f2825ac41ceb2 *R/plot.varpart.R
00d109fe7fc29440698b9f1a4bbc876f *R/plot.varpart234.R
-4c6a8925c0eef5a61483ab0825b4e870 *R/points.cca.R
+4c9de900b73bb0c12950b9f2b96a9901 *R/points.cca.R
3fbe4782d2c376d98f23db8890c42b3b *R/points.decorana.R
b5661457c540b56e77eba97b8b290a91 *R/points.humpfit.R
a0e1e2d579fa8c1992a26a2e8d435750 *R/points.metaMDS.R
@@ -283,7 +283,7 @@ b31dbaa6493fdda1f865f95b3e889aab *R/print.isomap.R
6263b03c7eb5ae61f917888597abc4fd *R/print.mantel.R
f92fd82d10ce91e2cba2239e756e1332 *R/print.mantel.correlog.R
9d6b6102e251f155c0b9af98d37a5f49 *R/print.metaMDS.R
-7f2dbb16f8602bf3aa22b1fc69707dda *R/print.monoMDS.R
+f221ea2ab4e8903ca1ae735038bfba04 *R/print.monoMDS.R
8bd5bbb931a97ddada79e4552bd614b8 *R/print.mrpp.R
946b3b708190211e9eb1acc94ffa102d *R/print.mso.R
7c074bf7870cb4c306c6181769b28a19 *R/print.nestedchecker.R
@@ -397,9 +397,10 @@ a8c1bf3d3f371f3ee5a3de3c39a4113a *R/summary.procrustes.R
25e8a947666bed660358e359730160d9 *R/summary.specaccum.R
8f34602692f6a5476bb4a6d7b2a269fe *R/summary.taxondive.R
7c55757d8187363116d3561d53cbc5ba *R/swan.R
+f1530a301997e88e27e2eb072e295515 *R/tabasco.R
62bc8a0693a71adb1457b0a102d8951a *R/taxa2dist.R
90ec6192eb43f8fd29bc93485f4ef293 *R/taxondive.R
-502b11cc8435f7a3d6e35326c1375ea6 *R/text.cca.R
+f94b7781111e04de4ae1f7df67003ca2 *R/text.cca.R
1f4d9ba97695c0fa99456f427114b049 *R/text.decorana.R
6a6e426f6e464bb7bdaa75d92674562c *R/text.metaMDS.R
974bdc93cd9b352d30debf3e93111136 *R/text.ordiplot.R
@@ -421,11 +422,11 @@ b43aca5a7abcce2f36629ed4036add72 *R/vegan-deprecated.R
722ab25ac95b6c419b29a94347916f23 *R/veganCovEllipse.R
c33a08b31fabd66594d97a4362c85534 *R/vegandocs.R
5be53abd0d608c314dc6a9f071bd676d *R/vegdist.R
-ad9c801b614dd9f73558eb32689ef8f9 *R/vegemite.R
+cbf0bc1d54508fe56afcc8bd789abd77 *R/vegemite.R
5d6047d7f63f04ae9ff40179c534aa0b *R/veiledspec.R
1f6deab4b61a9be48be43e80703cd4b6 *R/vif.cca.R
322254f8bc3b02f7a971058cbdfa9edd *R/wascores.R
-e5db28e2a61cf6ad72cfe0d6d600f25d *R/wcmdscale.R
+860e4de36a01011c639b9eafd909b673 *R/wcmdscale.R
ecfd48e2f4df6bcd683a87203dd80e12 *R/weights.cca.R
76c939e9fe7776e51eeabc1d44be83cb *R/weights.decorana.R
73babeed9df14635d99b1a619a1286e4 *R/weights.rda.R
@@ -443,22 +444,22 @@ c51905bd025ccea2737527b6fca4a081 *data/mite.pcnm.rda
ee3c343418d7cf2e435028adf93205f1 *data/sipoo.rda
f87df84297865b5faf31e232e97a0f94 *data/varechem.rda
82153b3e47807b926b77cef49900f422 *data/varespec.rda
-27ee2fdae550893ef43d308c63245ab1 *inst/ChangeLog
-e7bfd68f9f2e2e804ded0ce8a6cea011 *inst/NEWS.Rd
+bf2ad7c62163afdaa41ea336bdaeb88c *inst/ChangeLog
+ab9b7fd3e8cac85ace5c94673e9382b0 *inst/NEWS.Rd
9abfab8b05c34dd283379a7d87500ffb *inst/ONEWS
-bde01a71ea9b74bbd541fdc675ef53f9 *inst/doc/FAQ-vegan.pdf
+47feb16ee49ec7e6483eebb881fae159 *inst/doc/FAQ-vegan.pdf
a901a5efa50b13f8ce50b95bada4a1b8 *inst/doc/FAQ-vegan.texi
a712f5f699b09276e523f83ce3b731ae *inst/doc/Makefile
-e31e8341d1bfb6c668847c76b7655e06 *inst/doc/NEWS.html
+262d0bb9e1efda623933fc1a42fd4b96 *inst/doc/NEWS.html
bfad8283cb33e6e2837f62360671a014 *inst/doc/decision-vegan.Rnw
-bccf896f24a6d941907ae1c095f601ff *inst/doc/decision-vegan.pdf
-9394ecf28c95c20d965655591a8b29f0 *inst/doc/decision-vegan.tex
+e4946ba807e8c7db84096c9320a9b36a *inst/doc/decision-vegan.pdf
+027057d32bd1bb6baf990ecd9845711e *inst/doc/decision-vegan.tex
51f01c074c07c22f3da55c597ca05d9a *inst/doc/diversity-vegan.Rnw
-68b2d85739ad66045f2b368268f22929 *inst/doc/diversity-vegan.pdf
-2962abdd9039acaf3424781ea6a30ed6 *inst/doc/diversity-vegan.tex
+b97571ad2b3609cd358903b951c1f869 *inst/doc/diversity-vegan.pdf
+50b65b4730835c95babdb6e5ed974868 *inst/doc/diversity-vegan.tex
53ffe702420a71c3cbc8b8287b25fbfe *inst/doc/intro-vegan.Rnw
-d5aff24f82fc09a922855080b1680737 *inst/doc/intro-vegan.pdf
-9ee9153ce0876a63fc4b851f8a838e2f *inst/doc/intro-vegan.tex
+3272a98bf658a5a396a0e3fb9182f52d *inst/doc/intro-vegan.pdf
+3d58488f31e30b1c80ac9755d7530784 *inst/doc/intro-vegan.tex
a1c35ea488b715441cd2269eb6998945 *inst/doc/partitioning.pdf
bafe698f5c543e20d4c52659545677bf *inst/doc/vegan.bib
8790e1afcfbf88c374d6c87928eab54f *inst/doc/veganjss.sty
@@ -482,8 +483,8 @@ b04c2fae35dba2d97cb248814d5e2fe9 *man/bgdispersal.Rd
1eab4a6369fa1d203a4a3f41f4ee4c06 *man/biplot.rda.Rd
88602656153ee95f10335487273e132d *man/capscale.Rd
d3c1067cb5e4dc6f6b9a1c7d94e70ab5 *man/cascadeKM.Rd
-be184dfa5e05b449f46efb5a94b80d25 *man/cca.Rd
-4da051166c46889d3bce1bda6f353846 *man/cca.object.Rd
+01df6d53d022485e95f39e7c29d2d61d *man/cca.Rd
+97385598d1197eeaf8c987bf34329013 *man/cca.object.Rd
0a27f941c844520672e5ca370fda6719 *man/clamtest.Rd
335d0f7691ad9d0c48fffce9f9db6201 *man/contribdiv.Rd
c41033fb9c572365490cc23b9870c950 *man/decorana.Rd
@@ -510,7 +511,7 @@ e473a6d2589993b85fc1176866fdde78 *man/linestack.Rd
a83cd418e2a052ea32ef431bce2e3787 *man/make.cepnames.Rd
e8a27e8ace7bd56776794ebfd8391d64 *man/mantel.Rd
f5db928e02639d251389edb1cd36ff13 *man/mantel.correlog.Rd
-8219156d6aa03c5882324feee963e5cb *man/metaMDS.Rd
+f0f939023236abf04e5af5e2a3652082 *man/metaMDS.Rd
4cfb02239809fa03b28e10ec8e8c9c6b *man/mite.Rd
0d0876437491b3701e4d20cbbf0d1b6f *man/model.matrix.cca.Rd
09bf57e9d9ae0178eca8facf3f9d20b7 *man/monoMDS.Rd
@@ -536,7 +537,7 @@ d971701b3c6f89b3a6b358a3966a43d2 *man/ordixyplot.Rd
864ed25d069da12a2226310240f1f740 *man/permatfull.Rd
807092c467db330149046d1dc9e9ab91 *man/permutations.Rd
fb24c58ca61caf767ced5bd79dbff57e *man/permutest.betadisper.Rd
-a8862a670b6894fc38bbb2ade4c85e23 *man/plot.cca.Rd
+47898b675bb6d36fce6961e6a70d8d57 *man/plot.cca.Rd
9f296f0830397598ee4849fc006762d1 *man/prc.Rd
165334d6ad139cadd36957afd6d10923 *man/predict.cca.Rd
80aa98f140babc312081f0a01ad3a77d *man/procrustes.Rd
@@ -567,9 +568,9 @@ e8d8b52de649979b17b484d03775c5c0 *man/vegan-internal.Rd
ec9c7e972e815897f61fb3fdd16a008b *man/vegan-package.Rd
f6f284ceb3b9a39e7b079936f9400cc2 *man/vegandocs.Rd
197fe8ed2fe66db294381cb3c08325e1 *man/vegdist.Rd
-3fc88b0b479d2099ced8ca764fbcbea6 *man/vegemite.Rd
+982fdb71847d8b7338c7effc5432027d *man/vegemite.Rd
c3209a8eff0fe638d3a43b25ea5bec16 *man/wascores.Rd
-26906624d4a17e3cf4a20f7305190ba6 *man/wcmdscale.Rd
+7d16b5020895bf5ead253010c733e7e5 *man/wcmdscale.Rd
dd4512521b5b7a678f87c7f27d6b986c *src/cepin.f
dd22a1632081402e62320a4c0d6b2aa9 *src/data2hill.c
7703ffdb64c5f31de56bfd8253877ad6 *src/decorana.f
diff --git a/NAMESPACE b/NAMESPACE
index cd8f2c3..58f6829 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -25,7 +25,7 @@ prestondistr, prestonfit, procrustes, protest, radfit, radlattice,
rankindex, rarecurve, rarefy, raupcrick, rda, renyiaccum, renyi,
rrarefy, scores, showvarparts, simper, spandepth, spantree, specaccum,
specnumber, specpool2vect, specpool, spenvcor, stepacross, stressplot,
-swan, taxa2dist, taxondive, tolerance, treedist, treedive, treeheight,
+swan, tabasco, taxa2dist, taxondive, tolerance, treedist, treedive, treeheight,
tsallisaccum, tsallis, varpart, vectorfit, vegandocs, vegdist,
vegemite, veiledspec, wascores, wcmdscale, wisconsin)
diff --git a/R/fitspecaccum.R b/R/fitspecaccum.R
index bddc11a..e7bc7f3 100644
--- a/R/fitspecaccum.R
+++ b/R/fitspecaccum.R
@@ -15,26 +15,20 @@ fitspecaccum <-
x <- object$individuals
else
x <- object$sites
- mods <- switch(model,
- "arrhenius" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSarrhenius(x, k, z), ...)),
- "gleason" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSgleason(x, k, slope), ...)),
- "gitay" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSgitay(x, k, slope), ...)),
- "lomolino" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSlomolino(x, Asym, xmid, slope), ...)),
- "asymp" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSlogis(x, Asym, xmid, scal), ...)),
- "gompertz" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSgompertz(x, Asym, xmid, scal), ...)),
- "michaelis-menten" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSmicmen(x, Vm, K), ...)),
- "logis" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSlogis(x, Asym, xmid, scal), ...)),
- "weibull" = apply(SpeciesRichness, 2,
- function(y) nls(y ~ SSweibull(x, Asym, Drop, lrc, par), ...))
- )
+ NLSFUN <- function(y, x, model, ...) {
+ switch(model,
+ "arrhenius" = nls(y ~ SSarrhenius(x, k, z), ...),
+ "gleason" = nls(y ~ SSgleason(x, k, slope), ...),
+ "gitay" = nls(y ~ SSgitay(x, k, slope), ...),
+ "lomolino" = nls(y ~ SSlomolino(x, Asym, xmid, slope), ...),
+ "asymp" = nls(y ~ SSasymp(x, Asym, R0, lrc), ...),
+ "gompertz" = nls(y ~ SSgompertz(x, Asym, xmid, scal), ...),
+ "michaelis-menten" = nls(y ~ SSmicmen(x, Vm, K), ...),
+ "logis" = nls(y ~ SSlogis(x, Asym, xmid, scal), ...),
+ "weibull" = nls(y ~ SSweibull(x, Asym, Drop, lrc, par), ...))
+ }
+ mods <- lapply(seq_len(NCOL(SpeciesRichness)),
+ function(i, ...) NLSFUN(SpeciesRichness[,i], x, model, ...))
object$fitted <- drop(sapply(mods, fitted))
object$residuals <- drop(sapply(mods, residuals))
object$coefficients <- drop(sapply(mods, coef))
diff --git a/R/fitted.capscale.R b/R/fitted.capscale.R
index 0ec7442..f8b5610 100644
--- a/R/fitted.capscale.R
+++ b/R/fitted.capscale.R
@@ -6,8 +6,8 @@
type <- match.arg(type)
## Return scaled eigenvalues
U <- switch(model,
- CCA = object$CCA$u.eig,
- CA = object$CA$u.eig,
+ CCA = object$CCA$u %*% diag(sqrt(object$CCA$eig)),
+ CA = object$CA$u %*% diag(sqrt(object$CA$eig)),
Imaginary = object$CA$imaginary.u.eig,
pCCA = object$pCCA$Fit/object$adjust)
## Distances or working scores U
diff --git a/R/goodness.cca.R b/R/goodness.cca.R
index b82a0f0..7a29b85 100644
--- a/R/goodness.cca.R
+++ b/R/goodness.cca.R
@@ -1,7 +1,7 @@
`goodness.cca` <-
- function (object, display = c("species", "sites"), choices, model = c("CCA",
- "CA"), statistic = c("explained", "distance"), summarize = FALSE,
- ...)
+ function (object, display = c("species", "sites"), choices,
+ model = c("CCA", "CA"), statistic = c("explained", "distance"),
+ summarize = FALSE, ...)
{
model <- match.arg(model)
if (is.null(object$CCA))
@@ -11,11 +11,12 @@
statistic <- match.arg(statistic)
display <- match.arg(display)
cs <- if(display == "species") object$colsum else object$rowsum
+ lambda2 <- sqrt(object[[model]]$eig)
if (display == "species") {
if (is.null(object$CCA))
Xbar <- object$CA$Xbar
else Xbar <- object$CCA$Xbar
- v <- object[[model]]$v.eig
+ v <- sweep(object[[model]]$v, 2, lambda2, "*")
tot <- diag(crossprod(Xbar))
}
else {
@@ -25,7 +26,7 @@
Xbar <- qr.fitted(object$CCA$QR, Xbar)
tot <- tot + diag(crossprod(t(Xbar)))
}
- v <- object[[model]]$u.eig
+ v <- sweep(object[[model]]$u, 2, lambda2, "*")
}
if (!missing(choices))
v <- v[, choices, drop = FALSE]
diff --git a/R/goodness.rda.R b/R/goodness.rda.R
index 9fc4f4b..ed635d3 100644
--- a/R/goodness.rda.R
+++ b/R/goodness.rda.R
@@ -1,7 +1,7 @@
`goodness.rda` <-
- function (object, display = c("species", "sites"), choices, model = c("CCA",
- "CA"), statistic = c("explained", "distance"), summarize = FALSE,
- ...)
+ function (object, display = c("species", "sites"), choices,
+ model = c("CCA", "CA"), statistic = c("explained", "distance"),
+ summarize = FALSE, ...)
{
model <- match.arg(model)
display <- match.arg(display)
@@ -13,11 +13,12 @@
stop("model ", model, " is not available")
statistic <- match.arg(statistic)
cs <- weights(object, display = display)
+ lambda2 <- sqrt(object[[model]]$eig)
if (display == "species") {
if (is.null(object$CCA))
Xbar <- object$CA$Xbar
else Xbar <- object$CCA$Xbar
- v <- object[[model]]$v.eig
+ v <- sweep(object[[model]]$v, 2, lambda2, "*")
tot <- diag(crossprod(Xbar)/(nrow(Xbar) - 1))
}
else {
@@ -31,7 +32,7 @@
tot <- tot + diag(crossprod(t(Xbar)))/(nrow(Xbar) -
1)
}
- v <- object[[model]]$u.eig
+ v <- sweep(object[[model]]$u, 2, lambda2, "*")
}
if (!missing(choices))
v <- v[, choices, drop = FALSE]
diff --git a/R/metaMDSiter.R b/R/metaMDSiter.R
index e319d48..7221ef7 100644
--- a/R/metaMDSiter.R
+++ b/R/metaMDSiter.R
@@ -1,6 +1,6 @@
`metaMDSiter` <-
function (dist, k = 2, trymax = 20, trace = 1, plot = FALSE,
- previous.best, engine = "monoMDS", ...)
+ previous.best, engine = "monoMDS", maxit = 200, ...)
{
engine <- match.arg(engine, c("monoMDS", "isoMDS"))
if (engine == "isoMDS")
@@ -49,8 +49,10 @@
} else {
## no previous.best: start with cmdscale
s0 <- switch(engine,
- "monoMDS" = monoMDS(dist, y = cmdscale(dist, k = k), k = k, ...),
- "isoMDS" = isoMDS(dist, k = k, trace = isotrace))
+ "monoMDS" = monoMDS(dist, y = cmdscale(dist, k = k), k = k,
+ maxit = maxit, ...),
+ "isoMDS" = isoMDS(dist, k = k, trace = isotrace,
+ maxit = maxit))
}
if (trace)
cat("Run 0 stress", s0$stress, "\n")
@@ -58,9 +60,9 @@
while(tries < trymax) {
tries <- tries + 1
stry <- switch(engine,
- "monoMDS" = monoMDS(dist, k = k, maxit = 200, ...),
+ "monoMDS" = monoMDS(dist, k = k, maxit = maxit, ...),
"isoMDS" = isoMDS(dist, initMDS(dist, k = k), k = k,
- maxit = 200, tol = 1e-07, trace = isotrace))
+ maxit = maxit, tol = 1e-07, trace = isotrace))
if (trace) {
cat("Run", tries, "stress", stry$stress, "\n")
}
diff --git a/R/nestedtemp.R b/R/nestedtemp.R
index 7e6a611..714338b 100644
--- a/R/nestedtemp.R
+++ b/R/nestedtemp.R
@@ -48,7 +48,23 @@
fillfun <- function(x, p) 1 - (1-(1-x)^p)^(1/p)
intfun <- function(p, fill)
integrate(fillfun, lower=0, upper=1, p=p)$value - fill
- p <- uniroot(intfun, c(0,20), fill=fill)$root
+ ## 'p' will depend on 'fill', and fill = 0.0038 correspond to p =
+ ## 20. Sometimes the fill is lower, and therefore we try() to see
+ ## if we need to move the bracket up. We should need to do this
+ ## very rarely.
+ lo <- 0
+ hi <- 20
+ repeat{
+ sol <- try(uniroot(intfun, c(lo,hi), fill=fill), silent = TRUE)
+ if (inherits(sol, "try-error")) {
+ if (hi > 640) # bail out
+ stop(gettextf("matrix is too sparse, fill is %g"), fill)
+ lo <- hi
+ hi <- hi + hi
+ } else
+ break
+ }
+ p <- sol$root
## row coordinates of the fill line for all matrix entries
out <- matrix(0, nrow=length(r), ncol=length(c))
for (i in 1:length(r))
diff --git a/R/points.cca.R b/R/points.cca.R
index 8462bf2..7c0990d 100644
--- a/R/points.cca.R
+++ b/R/points.cca.R
@@ -1,6 +1,6 @@
`points.cca` <-
function (x, display = "sites", choices = c(1, 2), scaling = 2,
- arrow.mul, head.arrow = 0.05, select, const, ...)
+ arrow.mul, head.arrow = 0.05, select, const, axis.bp = TRUE, ...)
{
formals(arrows) <- c(formals(arrows), alist(... = ))
if (length(display) > 1)
@@ -28,10 +28,12 @@
arrows(0, 0, pts[, 1], pts[, 2], length = head.arrow,
...)
pts <- pts * 1.1
- axis(3, at = c(-arrow.mul, 0, arrow.mul), labels = rep("",
- 3))
- axis(4, at = c(-arrow.mul, 0, arrow.mul), labels = c(-1,
- 0, 1))
+ if (axis.bp) {
+ axis(3, at = c(-arrow.mul, 0, arrow.mul),
+ labels = rep("", 3))
+ axis(4, at = c(-arrow.mul, 0, arrow.mul),
+ labels = c(-1, 0, 1))
+ }
return(invisible())
}
points(pts, ...)
diff --git a/R/print.monoMDS.R b/R/print.monoMDS.R
index 1cf7e92..fb14595 100644
--- a/R/print.monoMDS.R
+++ b/R/print.monoMDS.R
@@ -31,10 +31,10 @@
cat(", rotated to principal components")
cat("\n")
stoplab <- switch(x$icause,
- "Maximum number of iteration reached",
- "Stress nearly zero",
- "Stress nearly unchanged",
- "Scale factor of gradient nearly zero")
+ "Maximum number of iterations (maxit) reached",
+ "Stress nearly zero (< smin)",
+ "Stress nearly unchanged (ratio > sratmax)",
+ "Scale factor of gradient nearly zero (< sfgrmin)")
cat("Stopped after ", x$iters, " iterations: ", stoplab, "\n", sep="")
invisible(x)
}
diff --git a/R/tabasco.R b/R/tabasco.R
new file mode 100644
index 0000000..b5c79ab
--- /dev/null
+++ b/R/tabasco.R
@@ -0,0 +1,131 @@
+### The function displays (ordered) heatmaps of community data. It
+### copies vegemite() for handling 'use', 'sp.ind', 'site.ind' and
+### 'select', but then switches to heatmap() to display the
+### data. Unlike heatmap(), it does not insist on showing dendrograms,
+### but only uses these for sites, and only if given as 'use'.
+
+`tabasco` <-
+ function (x, use, sp.ind = NULL, site.ind = NULL,
+ select, Rowv = TRUE, Colv = TRUE, ...)
+{
+ if (any(x < 0))
+ stop("function cannot be used with negative data values")
+ pltree <- sptree <- NA
+ if (!missing(use)) {
+ if (!is.list(use) && is.vector(use)) {
+ if (is.null(site.ind))
+ site.ind <- order(use)
+ if (is.null(sp.ind))
+ sp.ind <- order(wascores(use, x))
+ }
+ else if (inherits(use, c("dendrogram", "hclust", "twins"))) {
+ if (inherits(use, "twins")) {
+ require(cluster) || stop("package cluster needed to handle 'use'")
+ }
+ if (!inherits(use, "dendrogram"))
+ use <- as.dendrogram(use)
+ if (!is.null(site.ind))
+ stop("'site.ind' cannot be used with dendrogram")
+ ## Reorder tree if Rowv specified
+ if (isTRUE(Rowv)) {
+ ## order by first CA axis -- decorana() is fastest
+ tmp <- decorana(x, ira = 1)
+ use <- reorder(use, scores(tmp, dis="sites", choices = 1),
+ agglo.FUN = mean)
+ } else if (length(Rowv) > 1) {
+ ## Rowv is a vector
+ if (length(Rowv) != nrow(x))
+ stop(gettextf("Rowv has length %d, but 'x' has %d rows",
+ length(Rowv), nrow(x)))
+ use <- reorder(use, Rowv, agglo.FUN = mean)
+ }
+ site.ind <- seq_len(nrow(x))
+ names(site.ind) <- rownames(x)
+ site.ind <- site.ind[labels(use)]
+ if (is.null(sp.ind))
+ sp.ind <- order(wascores(order(site.ind), x))
+ pltree <- use
+ }
+ else if (is.list(use)) {
+ tmp <- scores(use, choices = 1, display = "sites")
+ if (is.null(site.ind))
+ site.ind <- order(tmp)
+ if (is.null(sp.ind))
+ sp.ind <- try(order(scores(use, choices = 1,
+ display = "species")))
+ if (inherits(sp.ind, "try-error"))
+ sp.ind <- order(wascores(tmp, x))
+ }
+ else if (is.matrix(use)) {
+ tmp <- scores(use, choices = 1, display = "sites")
+ if (is.null(site.ind))
+ site.ind <- order(tmp)
+ if (is.null(sp.ind))
+ sp.ind <- order(wascores(tmp, x))
+ }
+ }
+ ## see if sp.ind is a dendrogram or hclust tree
+ if (inherits(sp.ind, c("hclust", "dendrogram", "twins"))) {
+ if (inherits(sp.ind, "twins"))
+ require("cluster") || stop("package cluster needed to handle 'sp.ind'")
+ if (!inherits(sp.ind, "dendrogram"))
+ sp.ind <- as.dendrogram(sp.ind)
+ sptree <- sp.ind
+ ## Consider reordering species tree
+ if (isTRUE(Colv) && !is.null(site.ind)) {
+ sptree <- reorder(sptree, wascores(order(site.ind), x),
+ agglo.FUN = mean)
+ } else if (length(Colv) > 1) {
+ if (length(Colv) != ncol(x))
+ stop(gettextf("Colv has length %d, but 'x' has %d columns",
+ length(Colv), ncol(x)))
+ sptree <- reorder(sptree, Colv, agglo.FUN = mean)
+ }
+ sp.ind <- seq_len(ncol(x))
+ names(sp.ind) <- colnames(x)
+ sp.ind <- sp.ind[labels(sptree)]
+ ## reverse: origin in the upper left corner
+ sptree <- rev(sptree)
+ }
+ if (!is.null(sp.ind) && is.logical(sp.ind))
+ sp.ind <- (1:ncol(x))[sp.ind]
+ if (!is.null(site.ind) && is.logical(site.ind))
+ site.ind <- (1:nrow(x))[site.ind]
+ if (is.null(sp.ind))
+ sp.ind <- 1:ncol(x)
+ if (is.null(site.ind))
+ site.ind <- 1:nrow(x)
+ if (!missing(select)) {
+ if (!is.na(pltree))
+ stop("sites cannot be 'select'ed with dendrograms or hclust trees")
+ if (!is.logical(select))
+ select <- sort(site.ind) %in% select
+ stake <- colSums(x[select, , drop = FALSE]) > 0
+ site.ind <- site.ind[select[site.ind]]
+ site.ind <- site.ind[!is.na(site.ind)]
+ }
+ else {
+ stake <- colSums(x[site.ind, ]) > 0
+ }
+ sp.ind <- sp.ind[stake[sp.ind]]
+ ## heatmap will reorder items by dendrogram so that we need to
+ ## give indices in the unsorted order if rows or columns have a
+ ## dendrogram
+ if (is.na(pltree[1]))
+ rind <- site.ind
+ else
+ rind <- sort(site.ind)
+ if (is.na(sptree[1]))
+ ## reverse: origin in the upper left corner
+ cind <- rev(sp.ind)
+ else
+ cind <- sort(sp.ind)
+ ## we assume t() changes data.frame to a matrix
+ x <- t(x[rind, cind])
+ sp.nam <- rownames(x)
+ sp.len <- max(nchar(sp.nam))
+ heatmap((max(x) - x), Rowv = sptree, Colv = pltree,
+ scale = "none", ...)
+ out <- list(sites = site.ind, species = sp.ind)
+ invisible(out)
+}
diff --git a/R/text.cca.R b/R/text.cca.R
index 942ba79..87ce7dd 100644
--- a/R/text.cca.R
+++ b/R/text.cca.R
@@ -1,6 +1,6 @@
`text.cca` <-
function (x, display = "sites", labels, choices = c(1, 2), scaling = 2,
- arrow.mul, head.arrow = 0.05, select, const, ...)
+ arrow.mul, head.arrow = 0.05, select, const, axis.bp = TRUE, ...)
{
formals(arrows) <- c(formals(arrows), alist(... = ))
if (length(display) > 1)
@@ -30,10 +30,12 @@
arrows(0, 0, pts[, 1], pts[, 2], length = head.arrow,
...)
pts <- pts * 1.1
- axis(3, at = c(-arrow.mul, 0, arrow.mul), labels = rep("",
- 3))
- axis(4, at = c(-arrow.mul, 0, arrow.mul), labels = c(-1,
- 0, 1))
+ if (axis.bp) {
+ axis(side = 3, at = c(-arrow.mul, 0, arrow.mul),
+ labels = rep("", 3))
+ axis(side = 4, at = c(-arrow.mul, 0, arrow.mul),
+ labels = c(-1, 0, 1))
+ }
}
text(pts, labels = rownames(pts), ...)
invisible()
diff --git a/R/vegemite.R b/R/vegemite.R
index 7b28d5b..eb763a0 100644
--- a/R/vegemite.R
+++ b/R/vegemite.R
@@ -1,4 +1,4 @@
-"vegemite" <-
+`vegemite` <-
function (x, use, scale, sp.ind = NULL, site.ind = NULL, zero = ".",
select, ...)
{
@@ -9,7 +9,11 @@
if (is.null(sp.ind))
sp.ind <- order(wascores(use, x))
}
- else if (inherits(use, "hclust")) {
+ else if (inherits(use, c("hclust", "twins"))) {
+ if (inherits(use, "twins")) {
+ require(cluster) || stop("package cluster needed for 'use'")
+ use <- as.hclust(use)
+ }
if (is.null(site.ind))
site.ind <- use$order
if (is.null(sp.ind))
diff --git a/R/wcmdscale.R b/R/wcmdscale.R
index a01f7b1..ce6aa72 100644
--- a/R/wcmdscale.R
+++ b/R/wcmdscale.R
@@ -8,6 +8,9 @@ function(d, k, eig = FALSE, add = FALSE, x.ret = FALSE, w)
}
if (add)
.NotYetUsed("add")
+ ## Force eig=TRUE if add, x.ret or !missing(w)
+ if(x.ret)
+ eig <- TRUE
ZERO <- sqrt(.Machine$double.eps)
if (!inherits(d, "dist")) {
op <- options(warn = 2)
@@ -47,7 +50,7 @@ function(d, k, eig = FALSE, add = FALSE, x.ret = FALSE, w)
## GOF for real and all axes
GOF <- c(sum(ev)/sum(abs(e$values)),
sum(ev)/sum(e$values[e$values > 0]))
- if (eig || x.ret || add) {
+ if (eig || x.ret) {
colnames(points) <- paste("Dim", seq_len(NCOL(points)), sep="")
out <- list(points = points, eig = if (eig) e$values,
x = if (x.ret) m, ac = NA, GOF = GOF, weights = w,
diff --git a/inst/ChangeLog b/inst/ChangeLog
index b5f8fdb..088da3c 100644
--- a/inst/ChangeLog
+++ b/inst/ChangeLog
@@ -1,7 +1,26 @@
-$Date: 2013-02-11 09:35:39 +0200 (Mon, 11 Feb 2013) $
+$Date: 2013-03-09 17:35:10 +0200 (Sat, 09 Mar 2013) $
VEGAN RELEASE VERSIONS at http://cran.r-project.org/
+Version 2.0-7 (opened February 17, 2013)
+
+ * merge r2476: take back part of 2434 and return matrix from
+ wcmdscale unless eigenvalues are requested.
+ * merge r2469, 2470: do not use u.eig & v.eig.
+ * merge r2468: tabasco checks against negative data.
+ * merge r2462: fix "asymp" model in fitspecaccum.
+ * merge r2458: restructure fitspecaccum.
+ * merge r2453: nestedtemp failed with fill < 0.38%.
+ * merge r2452: plot/text.cca gained axis.bp = TRUE argument.
+ * merge r2448 (partly), 2449: print.monoMDS clearer about
+ convergence. Only this part merged: metaMDSiter untouched.
+ * handcraft r2447: metaMDSiter gained argument 'maxit'.
+ * merge r2443: edit cca.object.Rd.
+ * merge r2434: return wcmdscale object always with non-default
+ arguments.
+ * merge r2432: edit cca.Rd.
+ * merge r2431,2433,2435 thru 2442: add tabasco().
+
Version 2.0-6 (released February 11, 2013)
* merge 2420, 2425: cca cross references.
diff --git a/inst/NEWS.Rd b/inst/NEWS.Rd
index c469d72..98e8778 100644
--- a/inst/NEWS.Rd
+++ b/inst/NEWS.Rd
@@ -2,6 +2,69 @@
\title{vegan News}
\encoding{UTF-8}
+\section{Changes in version 2.0.7}{
+
+ \subsection{NEW FUNCTIONS}{
+ \itemize{
+
+ \item \code{tabasco()} is a new function for graphical display
+ of community data matrix. Technically it is an interface to \R
+ \code{heatmap}, but its use is closer to \pkg{vegan} function
+ \code{vegemite}. The function can reorder the community data
+ matrix similarly as \code{vegemite}, for instance, by ordination
+ results. Unlike \code{heatmap}, it only displays dendrograms if
+ supplied by the user, and it defaults to re-order the
+ dendrograms by correspondence analysis. Species are ordered to
+ match site ordering or like determined by the user.
+
+ }
+ } % new functions
+
+ \subsection{BUG FIXES}{
+ \itemize{
+
+ \item Function \code{fitspecaccum(..., model = "asymp")} fitted
+ logistic model instead of asymptotic model (or the same as
+ \code{model = "logis"}).
+
+ \item \code{nestedtemp()} failed with very sparse data (fill
+ \eqn{< 0.38}\%).
+
+ }
+ } % bug fixes
+
+ \subsection{NEW FEATURES}{
+ \itemize{
+
+ \item The \code{plot} function for constrained ordination
+ results (\code{cca}, \code{rda}, \code{capscale}) gained
+ argument \code{axis.bp} (defaults \code{TRUE}) which can be used
+ to suppress axis scale for biplot arrays.
+
+ \item Number of iterations in nonmetric multidimensional scaling
+ (NMDS) can be set with keyword \code{maxit} (defaults
+ \code{200}) in \code{metaMDS}.
+
+ }
+ } % new features
+
+ \subsection{DEPRECATED}{
+
+ \itemize{
+
+ \item The result objects of \code{cca}, \code{rda} and
+ \code{capscale} will no longer have scores \code{u.eig},
+ \code{v.eig} and \code{wa.eig} in the future versions of
+ \pkg{vegan}. This change does not influence normal usage,
+ because \pkg{vegan} functions do not need these items. However,
+ external scripts and packages may need changes in the future
+ versions of \pkg{vegan}.
+
+ }
+ } % deprecated
+
+} % vegan 2.0-7
+
\section{Changes in version 2.0-6}{
\subsection{BUG FIXES}{
diff --git a/inst/doc/FAQ-vegan.pdf b/inst/doc/FAQ-vegan.pdf
index 0539b37..1115bbf 100644
Binary files a/inst/doc/FAQ-vegan.pdf and b/inst/doc/FAQ-vegan.pdf differ
diff --git a/inst/doc/NEWS.html b/inst/doc/NEWS.html
index 35e42fa..cdf3c15 100644
--- a/inst/doc/NEWS.html
+++ b/inst/doc/NEWS.html
@@ -8,6 +8,82 @@
<h2>vegan News</h2>
+<h3>Changes in version 2.0.7</h3>
+
+
+
+<h4>NEW FUNCTIONS</h4>
+
+
+<ul>
+<li> <p><code>tabasco()</code> is a new function for graphical display
+of community data matrix. Technically it is an interface to <font face="Courier New,Courier" color="#666666"><b>R</b></font>
+<code>heatmap</code>, but its use is closer to <span class="pkg">vegan</span> function
+<code>vegemite</code>. The function can reorder the community data
+matrix similarly as <code>vegemite</code>, for instance, by ordination
+results. Unlike <code>heatmap</code>, it only displays dendrograms if
+supplied by the user, and it defaults to re-order the
+dendrograms by correspondence analysis. Species are ordered to
+match site ordering or like determined by the user.
+</p>
+</li></ul>
+
+
+
+
+<h4>BUG FIXES</h4>
+
+
+<ul>
+<li><p> Function <code>fitspecaccum(..., model = "asymp")</code> fitted
+logistic model instead of asymptotic model (or the same as
+<code>model = "logis"</code>).
+</p>
+</li>
+<li> <p><code>nestedtemp()</code> failed with very sparse data (fill
+<i>< 0.38</i>%).
+</p>
+</li></ul>
+
+
+
+
+<h4>NEW FEATURES</h4>
+
+
+<ul>
+<li><p> The <code>plot</code> function for constrained ordination
+results (<code>cca</code>, <code>rda</code>, <code>capscale</code>) gained
+argument <code>axis.bp</code> (defaults <code>TRUE</code>) which can be used
+to suppress axis scale for biplot arrays.
+</p>
+</li>
+<li><p> Number of iterations in nonmetric multidimensional scaling
+(NMDS) can be set with keyword <code>maxit</code> (defaults
+<code>200</code>) in <code>metaMDS</code>.
+</p>
+</li></ul>
+
+
+
+
+<h4>DEPRECATED</h4>
+
+
+<ul>
+<li><p> The result objects of <code>cca</code>, <code>rda</code> and
+<code>capscale</code> will no longer have scores <code>u.eig</code>,
+<code>v.eig</code> and <code>wa.eig</code> in the future versions of
+<span class="pkg">vegan</span>. This change does not influence normal usage,
+because <span class="pkg">vegan</span> functions do not need these items. However,
+external scripts and packages may need changes in the future
+versions of <span class="pkg">vegan</span>.
+</p>
+</li></ul>
+
+
+
+
<h3>Changes in version 2.0-6</h3>
diff --git a/inst/doc/decision-vegan.pdf b/inst/doc/decision-vegan.pdf
index 1545dbf..bc5376e 100644
Binary files a/inst/doc/decision-vegan.pdf and b/inst/doc/decision-vegan.pdf differ
diff --git a/inst/doc/decision-vegan.tex b/inst/doc/decision-vegan.tex
index eb0facd..3418c9f 100644
--- a/inst/doc/decision-vegan.tex
+++ b/inst/doc/decision-vegan.tex
@@ -23,8 +23,8 @@ another document.
%% hijack Address for version info
\Address{$ $Id: decision-vegan.Rnw 1709 2011-08-10 15:48:21Z jarioksa $ $
processed with vegan
-2.0-6
-in R Under development (unstable) (2013-02-10 r61900) on \today}
+2.0-7
+in R Under development (unstable) (2013-03-19 r62316) on \today}
\Footername{About this version}
%% need no \usepackage{Sweave.sty}
@@ -500,17 +500,17 @@ Call: cca(formula = varespec[i, ] ~ Al + K, data = varechem)
Inertia Proportion Rank
Total 2.08320 1.00000
-Constrained 0.15362 0.07374 2
-Unconstrained 1.92958 0.92626 21
+Constrained 0.15677 0.07525 2
+Unconstrained 1.92643 0.92475 21
Inertia is mean squared contingency coefficient
Eigenvalues for constrained axes:
CCA1 CCA2
-0.10630 0.04732
+0.09762 0.05915
Eigenvalues for unconstrained axes:
CA1 CA2 CA3 CA4 CA5 CA6 CA7 CA8
-0.49464 0.32096 0.21594 0.18515 0.17457 0.11062 0.10434 0.08368
+0.48818 0.28764 0.22823 0.19523 0.17686 0.11253 0.10810 0.08657
(Showed only 8 of all 21 unconstrained eigenvalues)
\end{Soutput}
\end{Schunk}
@@ -537,11 +537,11 @@ R> proc <- procrustes(scores(tmp1, dis="lc", choi=1:14), scores(tmp2, dis="lc",
R> max(residuals(proc))
\end{Sinput}
\begin{Soutput}
-[1] 2.646997e-14
+[1] 3.115295e-14
\end{Soutput}
\end{Schunk}
In \code{cca} the difference would be somewhat larger than now
-observed 2.647e-14 because site
+observed 3.1153e-14 because site
weights used for environmental variables are shuffled with the species
data.
diff --git a/inst/doc/diversity-vegan.pdf b/inst/doc/diversity-vegan.pdf
index 11eaff4..bd395ac 100644
Binary files a/inst/doc/diversity-vegan.pdf and b/inst/doc/diversity-vegan.pdf differ
diff --git a/inst/doc/diversity-vegan.tex b/inst/doc/diversity-vegan.tex
index 3ed3613..9cde6e9 100644
--- a/inst/doc/diversity-vegan.tex
+++ b/inst/doc/diversity-vegan.tex
@@ -31,8 +31,8 @@
%% misuse next for scm data
\Address{$ $Id: diversity-vegan.Rnw 2346 2013-01-07 11:42:36Z jarioksa $ $
- processed with vegan 2.0-6
- in R Under development (unstable) (2013-02-10 r61900) on \today}
+ processed with vegan 2.0-7
+ in R Under development (unstable) (2013-03-19 r62316) on \today}
\Footername{About this version}
%% need no \usepackage{Sweave}
@@ -352,16 +352,16 @@ R> fish
\end{Sinput}
\begin{Soutput}
Fisher log series model
-No. of species: 102
+No. of species: 94
Estimate Std. Error
-alpha 44.064 5.5838
+alpha 34.823 4.4404
\end{Soutput}
\end{Schunk}
\begin{SCfigure}
\includegraphics{diversity-vegan-018}
\caption{Fisher's log-series fitted to one randomly selected site
- (41).}
+ (10).}
\label{fig:fisher}
\end{SCfigure}
We already saw $\alpha$ as a diversity index. Now we also obtained
@@ -379,7 +379,7 @@ R> confint(fish)
\end{Sinput}
\begin{Soutput}
2.5 % 97.5 %
-34.21748 56.25208
+26.97514 44.48423
\end{Soutput}
\end{Schunk}
@@ -403,7 +403,7 @@ the lower octave.
Function \code{prestondistr} directly
maximizes truncated log-normal likelihood without binning data, and it
is the recommended alternative. Log-normal models usually fit poorly
-to the BCI data, but here our random plot (number 41):
+to the BCI data, but here our random plot (number 10):
\begin{Schunk}
\begin{Sinput}
R> prestondistr(BCI[k,])
@@ -411,15 +411,15 @@ R> prestondistr(BCI[k,])
\begin{Soutput}
Preston lognormal model
Method: maximized likelihood to log2 abundances
-No. of species: 102
+No. of species: 94
mode width S0
- 0.6954283 1.7260910 28.1654616
+ 0.9941697 1.8317765 23.7539289
Frequencies by Octave
- 0 1 2 3 4 5
-Observed 22.50000 32.00000 21.00000 13.5000 8.000000 5.000000
-Fitted 25.96983 27.73039 21.16784 11.5513 4.506289 1.256727
+ 0 1 2 3 4 5 6
+Observed 17.50000 25.50000 19.50000 15.50000 8.50000 5.500000 2.0000000
+Fitted 20.50087 23.75381 20.42975 13.04252 6.18057 2.174024 0.5676345
\end{Soutput}
\end{Schunk}
@@ -458,20 +458,20 @@ R> rad
\end{Sinput}
\begin{Soutput}
RAD models, family poisson
-No. of species 102, total abundance 402
-
- par1 par2 par3 Deviance AIC BIC
-Null 59.9800 342.5388 342.5388
-Preemption 0.040337 47.8801 332.4389 335.0639
-Lognormal 0.80833 1.0772 24.2781 310.8369 316.0869
-Zipf 0.11928 -0.7903 36.6726 323.2314 328.4813
-Mandelbrot 2.3922 -1.5273 9.0795 7.0992 295.6580 303.5330
+No. of species 94, total abundance 483
+
+ par1 par2 par3 Deviance AIC BIC
+Null 77.2737 353.6126 353.6126
+Preemption 0.048132 62.7210 341.0598 343.6031
+Lognormal 0.97341 1.1723 20.4770 300.8158 305.9024
+Zipf 0.14073 -0.84897 39.7066 320.0454 325.1320
+Mandelbrot 1.9608 -1.522 6.7247 9.8353 292.1741 299.8040
\end{Soutput}
\end{Schunk}
\begin{SCfigure}
\includegraphics{diversity-vegan-022}
\caption{Ranked abundance distribution models for a random plot
- (no. 41). The best model has the lowest \textsc{aic}.}
+ (no. 10). The best model has the lowest \textsc{aic}.}
\label{fig:rad}
\end{SCfigure}
@@ -776,8 +776,8 @@ R> s <- sample(nrow(BCI), 25)
R> specpool(BCI[s,])
\end{Sinput}
\begin{Soutput}
- Species chao chao.se jack1 jack1.se jack2 boot boot.se n
-All 203 252 26.30827 229.88 7.124942 248.5867 214.6588 3.710797 25
+ Species chao chao.se jack1 jack1.se jack2 boot boot.se n
+All 203 227 12.96148 226.04 8.022369 237.54 213.6789 4.123431 25
\end{Soutput}
\end{Schunk}
@@ -794,12 +794,12 @@ two of these methods:
R> estimateR(BCI[k,])
\end{Sinput}
\begin{Soutput}
- 41
-S.obs 102.000000
-S.chao1 151.500000
-se.chao1 21.334825
-S.ACE 161.646487
-se.ACE 6.839367
+ 10
+S.obs 94.000000
+S.chao1 129.000000
+se.chao1 17.243915
+S.ACE 132.601934
+se.ACE 6.153456
\end{Soutput}
\end{Schunk}
Chao's method is similar as above, but uses another, ``unbiased''
@@ -842,14 +842,14 @@ R> veiledspec(prestondistr(BCI[k,]))
\end{Sinput}
\begin{Soutput}
Extrapolated Observed Veiled
- 121.86261 102.00000 19.86261
+ 109.06813 94.00000 15.06813
\end{Soutput}
\begin{Sinput}
R> veiledspec(BCI[k,])
\end{Sinput}
\begin{Soutput}
Extrapolated Observed Veiled
- 146.08199 102.00000 44.08199
+ 121.08212 94.00000 27.08212
\end{Soutput}
\end{Schunk}
diff --git a/inst/doc/intro-vegan.pdf b/inst/doc/intro-vegan.pdf
index 4db5757..b04d784 100644
Binary files a/inst/doc/intro-vegan.pdf and b/inst/doc/intro-vegan.pdf differ
diff --git a/inst/doc/intro-vegan.tex b/inst/doc/intro-vegan.tex
index 3b7abfa..c3e7624 100644
--- a/inst/doc/intro-vegan.tex
+++ b/inst/doc/intro-vegan.tex
@@ -36,8 +36,8 @@
%% misuse of the address field for revision data
\Address{$ $Id: intro-vegan.Rnw 2346 2013-01-07 11:42:36Z jarioksa $ $
processed with vegan
-2.0-6
-in R Under development (unstable) (2013-02-10 r61900) on \today}
+2.0-7
+in R Under development (unstable) (2013-03-19 r62316) on \today}
\Footername{About this version}
%% need no \usepackage{Sweave}
@@ -127,8 +127,13 @@ R> ord <- metaMDS(dune)
\end{Sinput}
\begin{Soutput}
Run 0 stress 0.1192678
-Run 1 stress 0.1192685
-... procrustes: rmse 0.0004731361 max resid 0.001456133
+Run 1 stress 0.1183192
+... New best solution
+... procrustes: rmse 0.02026651 max resid 0.06495143
+Run 2 stress 0.2341212
+Run 3 stress 0.1183186
+... New best solution
+... procrustes: rmse 0.0001039632 max resid 0.0003313083
*** Solution reached
\end{Soutput}
\begin{Sinput}
@@ -144,9 +149,9 @@ Data: dune
Distance: bray
Dimensions: 2
-Stress: 0.1192678
+Stress: 0.1183186
Stress type 1, weak ties
-Two convergent solutions found after 1 tries
+Two convergent solutions found after 3 tries
Scaling: centring, PC rotation, halfchange scaling
Species: expanded scores based on ‘dune’
\end{Soutput}
@@ -305,7 +310,7 @@ R> ord.fit
***VECTORS
NMDS1 NMDS2 r2 Pr(>r)
-A1 0.99008 0.14052 0.3798 0.01299 *
+A1 0.96474 0.26320 0.3649 0.01898 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
P values based on 1000 permutations.
@@ -314,14 +319,14 @@ P values based on 1000 permutations.
Centroids:
NMDS1 NMDS2
-ManagementBF -0.4474 -0.0193
-ManagementHF -0.2689 -0.1256
-ManagementNM 0.2976 0.5798
-ManagementSF 0.1502 -0.4654
+ManagementBF -0.4534 -0.0102
+ManagementHF -0.2636 -0.1282
+ManagementNM 0.2958 0.5790
+ManagementSF 0.1506 -0.4670
Goodness of fit:
- r2 Pr(>r)
-Management 0.4134 0.01499 *
+ r2 Pr(>r)
+Management 0.4134 0.00999 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
P values based on 1000 permutations.
@@ -349,12 +354,12 @@ Link function: identity
Formula:
y ~ s(x1, x2, k = knots)
-<environment: 0x2a84578>
+<environment: 0x41bc858>
Estimated degrees of freedom:
2 total = 3
-GCV score: 3.872935
+GCV score: 3.965441
\end{Soutput}
\end{Schunk}
\begin{SCfigure}
@@ -495,7 +500,7 @@ Terms added sequentially (first to last)
Model: cca(formula = dune ~ A1 + Management, data = dune.env)
Df Chisq F N.Perm Pr(>F)
-A1 1 0.2248 2.5245 199 0.010 **
+A1 1 0.2248 2.5245 199 0.005 **
Management 3 0.5550 2.0780 199 0.005 **
Residual 15 1.3355
---
@@ -516,7 +521,7 @@ Marginal effects of terms
Model: cca(formula = dune ~ A1 + Management, data = dune.env)
Df Chisq F N.Perm Pr(>F)
-A1 1 0.1759 1.9761 1299 0.03538 *
+A1 1 0.1759 1.9761 1399 0.03429 *
Management 3 0.5550 2.0780 199 0.00500 **
Residual 15 1.3355
---
@@ -531,12 +536,12 @@ R> anova(ord, by="axis", perm=500)
\end{Sinput}
\begin{Soutput}
Model: cca(formula = dune ~ A1 + Management, data = dune.env)
- Df Chisq F N.Perm Pr(>F)
-CCA1 1 0.3187 3.5801 199 0.00500 **
-CCA2 1 0.2372 2.6640 299 0.01333 *
-CCA3 1 0.1322 1.4845 199 0.14000
-CCA4 1 0.0917 1.0297 99 0.33000
-Residual 15 1.3355
+ Df Chisq F N.Perm Pr(>F)
+CCA1 1 0.3187 3.5801 199 0.005 **
+CCA2 1 0.2372 2.6640 199 0.010 **
+CCA3 1 0.1322 1.4845 99 0.210
+CCA4 1 0.0917 1.0297 99 0.370
+Residual 15 1.3355
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
\end{Soutput}
@@ -591,7 +596,7 @@ Terms added sequentially (first to last)
Model: cca(formula = dune ~ A1 + Management + Condition(Moisture), data = dune.env)
Df Chisq F N.Perm Pr(>F)
-A1 1 0.1154 1.4190 99 0.11
+A1 1 0.1154 1.4190 99 0.09 .
Management 3 0.3954 1.6205 99 0.02 *
Residual 12 0.9761
---
@@ -612,7 +617,7 @@ Permutations stratified within 'Moisture'
Model: cca(formula = dune ~ A1 + Management + Condition(Moisture), data = dune.env)
Df Chisq F N.Perm Pr(>F)
-A1 1 0.1154 1.4190 99 0.24
+A1 1 0.1154 1.4190 99 0.38
Management 3 0.3954 1.6205 99 0.01 **
Residual 12 0.9761
---
diff --git a/man/cca.Rd b/man/cca.Rd
index 31d4a9d..59cbcd0 100644
--- a/man/cca.Rd
+++ b/man/cca.Rd
@@ -105,9 +105,9 @@
frames).
The formula can include a special term \code{Condition}
for conditioning variables (``covariables'') ``partialled out'' before
- analysis. So the following commands are equivalent: \code{cca(X, Y,
- Z)}, \code{cca(X ~ Y + Condition(Z))}, where \code{Y} and \code{Z}
- refer to constraints and conditions matrices respectively.
+ analysis. So the following commands are equivalent:
+ \code{cca(X, Y, Z)}, \code{cca(X ~ Y + Condition(Z))}, where \code{Y}
+ and \code{Z} refer to constraints and conditions matrices respectively.
Constrained correspondence analysis is indeed a constrained method:
CCA does not try to display all variation in the
@@ -198,12 +198,12 @@
This help page describes two constrained ordination functions,
\code{cca} and \code{rda}. A related method, distance-based
redundancy analysis (dbRDA) is described separately
- (\code{\link{capscale}}). All these function return similar objects
+ (\code{\link{capscale}}). All these functions return similar objects
(described in \code{\link{cca.object}}). There are numerous support
- functions that can used to access the result object. In the list
- below, functions of type \code{cca} will handle all ordination
- objects, and functions of \code{rda} only handle \code{rda} and
- \code{\link{capscale}} results.
+ functions that can be used to access the result object. In the list
+ below, functions of type \code{cca} will handle all three constrained
+ ordination objects, and functions of \code{rda} only handle \code{rda}
+ and \code{\link{capscale}} results.
The main plotting functions are \code{\link{plot.cca}} for all
methods, and \code{\link{biplot.rda}} for RDA and dbRDA. However,
diff --git a/man/cca.object.Rd b/man/cca.object.Rd
index d7e1b93..05e0346 100644
--- a/man/cca.object.Rd
+++ b/man/cca.object.Rd
@@ -177,19 +177,25 @@
}
}
-\seealso{The description here provides a hacker's interface. For more
- user friendly access to the \code{cca} object see
+\seealso{The description here provides a hacker's interface. User
+ level functions for further analysis and handling of \code{cca}
+ objects are described in this section in \code{\link{cca}}. Also for
+ a hacker interface, it may be better to use following low level
+ functions to access the results:
+ \code{\link{scores.cca}} (which also scales results),
+ \code{\link{predict.cca}} (which can also use \code{newdata}),
+ \code{\link{fitted.cca}}, \code{\link{residuals.cca}},
\code{\link{alias.cca}}, \code{\link{coef.cca}},
- \code{\link{deviance.cca}}, \code{\link{predict.cca}},
- \code{\link{scores.cca}},
- \code{\link{summary.cca}}, \code{\link{vif.cca}},
- \code{\link{weights.cca}}, \code{\link{spenvcor}} or \code{rda}
+ \code{\link{model.frame.cca}}, \code{\link{model.matrix.cca}},
+ \code{\link{deviance.cca}}, \code{\link{eigenvals.cca}},
+ \code{\link{RsquareAdj.cca}},
+ \code{\link{weights.cca}}, \code{\link{nobs.cca}}, or \code{rda}
variants of these functions.
You can use \code{\link{as.mlm}} to cast a \code{cca.object} into
result of multiple response
linear model (\code{\link{lm}}) in order to more easily find some
statistics (which in principle could be directly found from the
- \code{cca.object} as well).
+ \code{cca} object as well).
This section in \code{\link{cca}} gives a more complete list of
methods to handle the constrained ordination result object.
diff --git a/man/metaMDS.Rd b/man/metaMDS.Rd
index 93c26a8..59cc266 100644
--- a/man/metaMDS.Rd
+++ b/man/metaMDS.Rd
@@ -41,7 +41,7 @@ metaMDSdist(comm, distance = "bray", autotransform = TRUE,
noshare = TRUE, trace = 1, commname, zerodist = "ignore",
distfun = vegdist, ...)
metaMDSiter(dist, k = 2, trymax = 20, trace = 1, plot = FALSE,
- previous.best, engine = "monoMDS", ...)
+ previous.best, engine = "monoMDS", maxit = 200, ...)
initMDS(x, k=2)
postMDS(X, dist, pc=TRUE, center=TRUE, halfchange, threshold=0.8,
nthreshold=10, plot=FALSE, ...)
@@ -119,6 +119,11 @@ metaMDSredist(object, ...)
\item{distfun}{Dissimilarity function. Any function returning a
\code{dist} object and accepting argument \code{method} can be used
(but some extra arguments may cause name conflicts).}
+
+ \item{maxit}{Maximum number of iterations in the single NMDS run;
+ passed to the \code{engine} function \code{\link{monoMDS}} or
+ \code{\link[MASS]{isoMDS}}.}
+
\item{dist}{Dissimilarity matrix used in multidimensional scaling. }
\item{pc}{Rotate to principal components. }
\item{center}{Centre the configuration. }
diff --git a/man/plot.cca.Rd b/man/plot.cca.Rd
index ae83e00..7506054 100644
--- a/man/plot.cca.Rd
+++ b/man/plot.cca.Rd
@@ -21,9 +21,9 @@
\method{plot}{cca}(x, choices = c(1, 2), display = c("sp", "wa", "cn"),
scaling = 2, type, xlim, ylim, const, ...)
\method{text}{cca}(x, display = "sites", labels, choices = c(1, 2), scaling = 2,
- arrow.mul, head.arrow = 0.05, select, const, ...)
+ arrow.mul, head.arrow = 0.05, select, const, axis.bp = TRUE, ...)
\method{points}{cca}(x, display = "sites", choices = c(1, 2), scaling = 2,
- arrow.mul, head.arrow = 0.05, select, const, ...)
+ arrow.mul, head.arrow = 0.05, select, const, axis.bp = TRUE, ...)
\method{scores}{cca}(x, choices=c(1,2), display=c("sp","wa","cn"), scaling=2, ...)
\method{scores}{rda}(x, choices=c(1,2), display=c("sp","wa","cn"), scaling=2,
const, ...)
@@ -74,6 +74,7 @@
\samp{decision-vegan.pdf} with \code{\link{vegandocs}} for details
and discussion). If \code{const} is a vector of two items, the first
is used for species, and the second item for site scores.}
+ \item{axis.bp}{Draw \code{\link{axis}} for biplot arrows.}
\item{axes}{Number of axes in summaries.}
\item{digits}{Number of digits in output.}
\item{n, head, tail}{Number of rows printed from the head and tail of
diff --git a/man/vegemite.Rd b/man/vegemite.Rd
index dabb0af..17f1a54 100644
--- a/man/vegemite.Rd
+++ b/man/vegemite.Rd
@@ -1,70 +1,107 @@
\name{vegemite}
\alias{vegemite}
+\alias{tabasco}
\alias{coverscale}
-\title{Prints a Compact, Ordered Vegetation Table }
+\title{Display Compact Ordered Community Tables }
\description{
- The function prints a compact vegetation table, where species are
- rows, and each site takes only one column without spaces. The
- vegetation table can be ordered by explicit indexing, by environmental
- variables or results from an ordination or cluster analysis.
+ Functions \code{vegemite} and \code{tabasco} display compact
+ community tables. Function \code{vegemite} prints text tables where
+ species are rows, and each site takes only one column without
+ spaces. Function \code{tabasco} provides interface for
+ \code{\link{heatmap}} for a colour \code{\link{image}} of the
+ data. The community table can be ordered by explicit indexing, by
+ environmental variables or results from an ordination or cluster
+ analysis.
}
\usage{
vegemite(x, use, scale, sp.ind, site.ind, zero=".", select ,...)
+tabasco(x, use, sp.ind = NULL, site.ind = NULL, select,
+ Rowv = TRUE, Colv = TRUE, ...)
coverscale(x, scale=c("Braun.Blanquet", "Domin", "Hult", "Hill", "fix","log"),
maxabund)
}
\arguments{
- \item{x}{Vegetation data. }
+ \item{x}{Community data. }
\item{use}{Either a vector, or an object from \code{cca},
\code{decorana} \emph{etc.} or \code{hclust} or a
\code{\link{dendrogram}} for ordering sites and species.}
- \item{sp.ind}{Species indices. }
- \item{site.ind}{Site indices. }
+ \item{sp.ind, site.ind}{Species and site indices. In \code{tabasco},
+ these can also be \code{\link{hclust}} tree,
+ \code{\link[cluster]{agnes}} clusterings or
+ \code{\link{dendrogram}}s. }
\item{zero}{Character used for zeros. }
\item{select}{Select a subset of sites. This can be a logical vector
(\code{TRUE} for selected sites), or a vector of indices of selected
sites. The order of indices does not influence results, but you
must specify \code{use} or \code{site.ind} to reorder sites.
- }
+ }
+ \item{Rowv, Colv}{Re-order dendrograms for the rows (sites) or
+ columns (species) of \code{x}. If the \code{Rowv = TRUE}, row
+ dendrograms are ordered by the first axis of correspondence
+ analysis, and when \code{Colv = TRUE} column dendrograms by the
+ weighted average (\code{\link{wascores}}) of the row order.
+ Alternatively, the arguments can be vectors that are used to
+ reorder the dendrogram. }
\item{scale}{Cover scale used (can be abbreviated).}
\item{maxabund}{Maximum abundance used with \code{scale = "log"}.
Data maximum in the \code{select}ed subset will be used if this is
missing.}
- \item{...}{Arguments passed to \code{coverscale} (i.e., \code{maxabund}).}
+ \item{\dots}{Arguments passed to \code{coverscale} (i.e., \code{maxabund}) in
+ \code{vegemite} and to \code{\link{heatmap}} in \code{tabasco}.}
}
\details{
- The function prints a traditional vegetation table.
- Unlike in ordinary data matrices, species are used as rows and sites
- as columns. The table is printed in compact form: only one character
+ The function \code{vegemite} prints a traditional community table.
+ The display is transposed, so that species are in rows and sites in
+ columns. The table is printed in compact form: only one character
can be used for abundance, and there are no spaces between
columns. Species with no occurrences are dropped from the table.
- The parameter \code{use} can be a vector or an object from
- \code{\link{hclust}}, a \code{\link{dendrogram}} or any ordination
- result recognized by \code{\link{scores}} (all ordination methods in
- \pkg{vegan} and some of those not in \pkg{vegan}).
- If \code{use} is a vector, it is used
- for ordering sites. If \code{use} is an object from ordination, both
- sites and species are arranged by the first axis.
- When \code{use} is an
- object from \code{\link{hclust}} or a \code{\link{dendrogram}}, the
- sites are ordered similarly
- as in the cluster dendrogram.
- If ordination methods provide species scores, these are used for
- ordering species. In all cases where species scores are missing,
- species are ordered by their weighted averages (\code{\link{wascores}})
- on site scores. There is no natural, unique ordering in hierarchic
- clustering, but in some cases species are still nicely ordered (please
- note that you can \code{\link{reorder.dendrogram}} to have such a
- natural order).
- Alternatively, species and sites can be ordered explicitly giving
- their indices or names in parameters \code{sp.ind} and
- \code{site.ind}. If these are given, they take precedence over
- \code{use}. A subset of sites can be displayed using argument
- \code{select}, but this cannot be used to order sites, but you still
- must give \code{use} or \code{site.ind}.
+ Function \code{tabasco} produces a similar table as \code{vegemite}
+ using \code{\link{heatmap}}, where abundances are coded by
+ colours. The function can also display dendrograms for sites
+ (columns) or species if these are given as an argument (\code{use}
+ for sites, \code{sp.ind} for species).
+
+ The parameter \code{use} will be used to re-order output. The
+ \code{use} can be a vector or an object from \code{\link{hclust}} or
+ \code{\link[cluster]{agnes}}, a \code{\link{dendrogram}} or any
+ ordination result recognized by \code{\link{scores}} (all ordination
+ methods in \pkg{vegan} and some of those not in \pkg{vegan}). The
+ \code{\link{hclust}}, \code{\link[cluster]{agnes}} and
+ \code{\link{dendrogram}} must be for sites. The dendrogram is
+ displayed above the sites in \code{tabasco}, but is not shown in
+ \code{vegemite}. No dendrogram for species is displayed, except
+ when given in \code{sp.ind}.
+
+ If \code{use} is a vector, it is used for ordering sites. If
+ \code{use} is an object from ordination, both sites and species are
+ arranged by the first axis (provided that results are available both
+ also for species). When \code{use} is an object from
+ \code{\link{hclust}}, \code{\link[cluster]{agnes}} or a
+ \code{\link{dendrogram}}, the sites are ordered similarly as in the
+ cluster dendrogram. Function \code{tabasco} re-orders the
+ dendrogram if \code{Rowv = TRUE} or \code{Rowv} is a vector. Such
+ re-ordering is not available for \code{vegemite}, but it can be done
+ by hand using \code{\link{reorder.dendrogram}}. In all cases where
+ species scores are missing, species are ordered by their weighted
+ averages (\code{\link{wascores}}) on site order.
+
+ Species and sites can be ordered explicitly giving their indices or
+ names in parameters \code{sp.ind} and \code{site.ind}. If these are
+ given, they take precedence over \code{use}. A subset of sites can
+ be displayed using argument \code{select}, but this cannot be used
+ to order sites, but you still must give \code{use} or
+ \code{site.ind}. However, \code{tabasco} makes two exceptions:
+ \code{site.ind} and \code{select} cannot be used when \code{use} is
+ a dendrogram (clustering result). In addition, the \code{sp.ind} can
+ be an \code{\link{hclust}} tree, \code{\link[cluster]{agnes}}
+ clustering or a \code{\link{dendrogram}}, and in that case the
+ dendrogram is plotted on the left side of the
+ \code{\link{heatmap}}. Phylogenetic trees cannot be directly used,
+ \code{\link[ape]{as.hclust.phylo}} (package \pkg{ape}) can transform
+ these to \code{\link{hclust}} trees.
If \code{scale} is given, \code{vegemite} calls
\code{coverscale} to transform percent cover
@@ -88,13 +125,14 @@ coverscale(x, scale=c("Braun.Blanquet", "Domin", "Hult", "Hill", "fix","log"),
10 with \code{X} and positive values below 1 with \code{+}.
}
\value{
- The function is used mainly to print a table, but it returns
+ The functions are used mainly to display a table, but they return
(invisibly) a list
with items:
\item{species}{Ordered species indices}
\item{sites}{Ordered site indices}
+
These items can be used as arguments \code{sp.ind} and \code{site.ind}
- to reproduce the table. In addition to the proper table, the function
+ to reproduce the table. In addition to the proper table, \code{vegemite}
prints the numbers of species and sites and the name of the used cover
scale at the end.
}
@@ -106,15 +144,19 @@ coverscale(x, scale=c("Braun.Blanquet", "Domin", "Hult", "Hill", "fix","log"),
}
\author{Jari Oksanen}
-\seealso{\code{\link{cut}} and \code{\link{approx}} for making your own
- `cover scales', \code{\link{wascores}} for weighted averages.
- }
+\seealso{\code{\link{cut}} and \code{\link{approx}} for making your
+ own \sQuote{cover scales} for \code{vegemite}. Function
+ \code{tabasco} is based on \code{\link{heatmap}} which in turn is
+ based on \code{\link{image}}. Both functions order species with
+ weighted averages using \code{\link{wascores}}. }
-\note{ This function was called \code{vegetab} in older versions of
- \code{vegan}. The new name was chosen because the output is so
- compact (and to avoid confusion with the \code{vegtab} function in the
- \pkg{labdsv} package).
- }
+\note{
+
+ The name \code{vegemite} was chosen because the output is so
+ compact, and the \code{tabasco} because it is just as compact, but
+ uses heat colours.
+
+}
\examples{
data(varespec)
## Print only more common species
@@ -127,9 +169,31 @@ vegemite(varespec, dca, "Hill", zero="-")
clus <- hclust(vegdist(varespec))
cl <- cutree(clus, 3)
sel <- vegemite(varespec, use=dca, select = cl == 3, scale="Br")
-# Re-create previous
+## Re-create previous
vegemite(varespec, sp=sel$sp, site=sel$site, scale="Hult")
+## Re-order clusters by ordination
+clus <- as.dendrogram(clus)
+clus <- reorder(clus, scores(dca, choices=1, display="sites"), agglo.FUN = mean)
+vegemite(varespec, clus, scale = "Hult")
+
+## Abundance values have such a wide range that they must be rescaled
+## or all abundances will not be shown in tabasco
+tabasco(decostand(varespec, "log"), dca)
+
+## Classification trees for species
+data(dune, dune.taxon)
+taxontree <- hclust(taxa2dist(dune.taxon))
+plotree <- hclust(vegdist(dune), "average")
+## Automatic reordering of clusters
+tabasco(dune, plotree, sp.ind = taxontree)
+## No reordering of taxonomy
+tabasco(dune, plotree, sp.ind = taxontree, Colv = FALSE)
+## Species cluster: most dissimilarity indices do a bad job when
+## comparing rare and common species, but Raup-Crick makes sense
+sptree <- hclust(vegdist(t(dune), "raup"), "average")
+tabasco(dune, plotree, sptree)
}
-\keyword{ print }
-\keyword{ manip }
+\keyword{print}
+\keyword{manip}
+\keyword{hplot}
diff --git a/man/wcmdscale.Rd b/man/wcmdscale.Rd
index 07fcc3e..ee8c777 100644
--- a/man/wcmdscale.Rd
+++ b/man/wcmdscale.Rd
@@ -49,16 +49,18 @@ wcmdscale(d, k, eig = FALSE, add = FALSE, x.ret = FALSE, w)
With default options, the function returns only a matrix of scores
scaled by eigenvalues for all real axes. If the function is called
- with \code{eig = TRUE} or \code{x.ret = TRUE}, the function returns an
- object of class \code{"wcmdscale"} with \code{print}, \code{plot},
- \code{scores}, \code{\link{eigenvals}} and \code{\link{stressplot}}
- methods, and described in section Value. }
+ with \code{eig = TRUE} or \code{x.ret = TRUE}, the function returns
+ an object of class \code{"wcmdscale"} with \code{print},
+ \code{plot}, \code{scores}, \code{\link{eigenvals}} and
+ \code{\link{stressplot}} methods, and described in section Value.
+}
\value{ If \code{eig = FALSE} and \code{x.ret = FALSE} (default), a
- matrix with \code{k} columns whose rows give the coordinates of the
- points chosen to represent the dissimilarities. Otherwise, an
- object of class \code{wcmdscale} containing the components that are
- mostly similar as in \code{\link{cmdscale}}:
+ matrix with \code{k} columns whose rows give the coordinates of
+ points corresponding to positive eignenvalues. Otherwise, an object
+ of class \code{wcmdscale} containing the components that are mostly
+ similar as in \code{\link{cmdscale}}:
+
\item{points}{a matrix with \code{k} columns whose rows give the
coordinates of the points chosen to represent the
dissimilarities.}
--
Community Ecology Package for R
More information about the debian-med-commit
mailing list