如何将specnames添加到RankabUnmp?

如何将specnames添加到RankabUnmp?,r,plot,vegan,R,Plot,Vegan,我正试图将物种名称添加到Rankabunco地块。我试图将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

我正试图将物种名称添加到Rankabunco地块。我试图将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)
BiodiversityR::Rankabunmp明确禁止添加物种名称。这是在函数中硬编码的,如果不在rankabunplot调用中编辑函数look for specnames=NULL,则无法更改。“帮助”页面没有将specnames参数提供给RankabUnmp,因此也记录了这一点。我能理解这个决定:Rankabunmp在一张图中画了几条线,而且这些线通常非常相似,以至于物种名称会相互覆盖,因此绘图变得不可读

要添加线,您需要编辑函数,或者必须使用一系列rankabunplot命令在一个绘图中覆盖图形。下面是如何使用沙丘数据执行此操作的示例:


结果图的可读性不强。如果使用y轴的比例缩放,它的可读性甚至更低。但是,您可以这样做。

您使用的软件包是什么?你只加载vegan,但它没有这些功能,vegan中没有rankabundance、Rankabunplot或Rankabunmp。谢谢你指出这一点。我用了生物多样性。我已经更新了我的问题。pakcage是BiodiversityR,首字母大写:我试图更正此问题,但stackoverflow不允许短于六个字符的更正,并且我无法仅更改错误的一个。感谢您的详细解释。我真的很感激。
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))