Biomod2产生假性缺失

时间:2019-10-22 12:40:42

标签: r package

我已经开始从事物种分布工作,但在这个问题上我还不太放心。我在R中使用biomod2程序包,其中有几个栅格可应用于仅存在数据的物种。我的目的是生成一个伪缺席模型。我尝试按照教程进行操作,但是对我而言它们不可用(不清楚或依赖于无法访问的输入数据框)。因此,我还将接受有关良好教程的建议。

我暂时有

1)生成了解释模型:

myExpl = stack(Raster_vaud_srad1,
    Raster_vaud_srad2,
    Raster_vaud_srad3,
    Raster_vaud_srad4,
    Raster_vaud_srad5,
    Raster_vaud_srad6,
    Raster_vaud_srad7,
    Raster_vaud_srad8,
    Raster_vaud_srad9,
    Raster_vaud_srad10,
    Raster_vaud_srad11,
    Raster_vaud_srad12,
    Raster_vaud_slope,
    Raster_vaud_topos,
    Raster_vaud_topo,
    Raster_vaud_aspval,
    Raster_vaud_GDD_mod,
    Raster_vaud_mind_mod,
    layers=NULL)

    plot(myExpl)

2)提取所有地理数据集坐标

 species_presence<-read.table(file.choose(),sep=";",dec=".",h=T)

    Y<-sample(c(30000:60000),100,replace=F)
    Y<-sample(c(70000:250000),100,replace=F)
    coordinates<-dataframe(x,y)# with te real data i used this code: na.omit(unic(prova_aquilegia[,c(4,5)]))
    Presence<-c(rep(1,length(X)))
    SpecNames<-"Species"

3)创建了伪缺

myBiomodData <- BIOMOD_FormatingData(resp.var = Presence, expl.var =
myExpl, resp.xy = coordinates, resp.name = SpecNames, PA.nb.rep= 1,
PA.nb.absences = 13414,  PA.strategy="random", PA.dist.min=200) ## for
PA.nb.absence I used the number of points of the rasters

这是我在步骤3上遇到的错误:

Error in sample.int(length(x), size, replace, prob) :    invalid first argument In addition: Warning
messages: 1: In if (nbTrueAbs >= nb.points) { :   the condition has
length > 1 and only the first element will be used 2: In if ((nb.repet
== 0 | nb.points <= 0) & strategy != "user.defined") { :   the condition has length > 1 and only the first element will be used 3: In
if (nb.cells <= nb.points) { :   the condition has length > 1 and only
the first element will be used

我希望已经生成了假缺席,但我开始认为我可能会错过一些步骤。

我将不胜感激。

交叉发布于:CrossValidated

1 个答案:

答案 0 :(得分:0)

您不能使用“随机”因子生成最小/最大距离的伪缺失点。您必须在脚本中将random更改为disk