定制素食主义者

时间:2015-01-07 15:44:56

标签: r plot vegan

我有一个包含100种物种的数据集,因此绘制非常糟糕。所以我想挑选出这些物种的一个子集并将它们绘制在RDA图中。我一直在关注这个 guideline

代码如下所示:

## load vegan
require("vegan")

## load the Dune data
data(dune, dune.env)

## PCA of the Dune data
mod <- rda(dune, scale = TRUE)

## plot the PCA
plot(mod, scaling = 3)

## build the plot up via vegan methods
scl <- 3 ## scaling == 3
colvec <- c("red2", "green4", "mediumblue")
plot(mod, type = "n", scaling = scl)
with(dune.env, points(mod, display = "sites", col = colvec[Use],
                  scaling = scl, pch = 21, bg = colvec[Use]))
text(mod, display = "species", scaling = scl, cex = 0.8, col = "darkcyan")
with(dune.env, legend("topright", legend = levels(Use), bty = "n",
                  col = colvec, pch = 21, pt.bg = colvec))

这是你最终得到的plot。现在我真的想从情节中删除一些物种,但不是分析。因此情节只显示Salrep,Viclat,Aloge和Poatri。

帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

您正在进行实际绘图的函数有一个参数select(至少text.cca()points.cca()select采用长度为{{1的逻辑向量指示是否应该绘制i的东西,或者绘制事物的(数字)索引。示例将变为:

i

这给了你:

enter image description here

答案 1 :(得分:1)

您也可以使用ordiselect() - 套餐中的goeveg功能: https://CRAN.R-project.org/package=goeveg

它根据适合轴的丰度和/或物种,为排序图提供物种选择。

## Select ssp. with filter: 50% most abundant and 50% best fitting
library(goeveg)
sel <- ordiselect(dune, mod, ablim = 0.5, fitlim = 0.5)
sel   # 12 species selected

函数的结果对象(包含所选种类的名称)可以放入select参数中(如上所述)。