我正在尝试将物种名称添加到rankabuncomp图中。我试图将specnames = T添加到rankabundance函数中,但得到了一个错误。请帮我解决这个问题。非常感谢。
library(vegan)
library(BiodiversityR)
data(dune.env)
data(dune)
RankAbun.1 <- rankabundance(dune)
RankAbun.1
rankabunplot(RankAbun.1,scale='abundance', addit=FALSE, specnames=c(1,2,3))
rankabuncomp(dune, y=dune.env, factor='Management', scale='proportion', legend=FALSE)
#to add specnames
rankabuncomp(dune, y=dune.env, factor='Management', specnames=c(1,2,3), scale='proportion', legend=FALSE, labels=FALSE)发布于 2017-05-10 10:46:18
BiodiversityR::rankabuncomp明确禁止添加物种名称。这是在函数中硬编码的,如果不编辑函数(在specnames = NULL调用中查找rankabunplot() ),就不能更改它。“帮助”页面不向specnames提供rankabuncomp参数,因此也会对此进行记录。我能理解这个决定:rankabuncomp在一张图中画了几条线,而且它们通常是如此相似,以至于物种名称会相互覆盖,而图就变得不可读了。
要添加这些行,要么需要编辑函数,要么必须使用一系列rankabunplot命令在一个图中覆盖图形。下面是如何对dune数据执行此操作的示例:
library(BiodiversityR)
data(dune, dune.env)
## list of models
mods <- with(dune.env, lapply(levels(Management), function(lev)
rankabundance(dune, dune.env, 'Management', lev)))
## level 4 seems to be most extreme: draw it first
rankabunplot(mods[[4]],scale='abundance', addit=FALSE, specnames=c(1,2,3))
## add the rest
## change colour etc to separate the lines if wished
rankabunplot(mods[[3]],scale='abundance', addit=TRUE, specnames=c(1,2,3))
rankabunplot(mods[[2]],scale='abundance', addit=TRUE, specnames=c(1,2,3))
rankabunplot(mods[[1]],scale='abundance', addit=TRUE, specnames=c(1,2,3))由此产生的情节不是很容易读懂。如果你使用y轴的比例缩放,它就变得更难读了.不过,你可以做到的。
https://stackoverflow.com/questions/43859839
复制相似问题