我有一个包含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。
帮助表示赞赏。
答案 0 :(得分:2)
您正在进行实际绘图的函数有一个参数select
(至少text.cca()
和points.cca()
。select
采用长度为{{1的逻辑向量指示是否应该绘制i
的东西,或者绘制事物的(数字)索引。示例将变为:
i
这给了你:
答案 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
参数中(如上所述)。