Я начал заниматься распространением видов, и пока не совсем понимаю эту тему. Я использую пакет biomod2
в R с несколькими растрами для применения к видам с данными только о присутствии. Моя цель - создать модель псевдоотсутствия. Я пытался следовать учебным пособиям, но они мне не подходят (либо не ясны, либо основаны на кадрах входных данных, к которым нет доступа). Таким образом, я также приму предложения о хороших учебниках.
У меня на данный момент:
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 ответ
Вы не можете создавать точки псевдоотсутствия с минимальным/максимальным расстоянием, используя фактор «случайный». Вы должны изменить random
на disk
в своем скрипте.
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.