我正在做一个场地占用研究。unmarked选择的型号如下:
mod12 <- occu(~ temperature ~ bush_coverage, data)
当我尝试根据 siteCovs (bush_coverage) 预测和绘制数据时,一切正常:
nd_cov <- data.frame(bush_coverage = seq(min(site.covs$bush_coverage),
max(site.covs$bush_coverage),
lenght = 50))
N_pred_cov <- predict(mod12, type = 'state', newdata = nd_cov)
plot(nd_cov$bush_coverage,
N_pred_cov[,1], colonne)
type = "l",
lwd = 3,
xlab = "Percentage bush coverage",
ylab = "Occupancy probability")
但是当我试图预测检测概率并根据温度绘制数据时,我遇到了一个问题:
nd_temp <- data.frame (temp = seq(3,21, by = 0.45))
N_pred_temp <- predict(mod12, type = 'det', newdata = nd_temp)
Error: Matrices must have same number of rows in cbind2(.Call(dense_to_Csparse, x), y)
我创建了一个梯度来预测检测,以消除 obsCovs 数据框中的 NA 值,并且 nd_temp 的行数与我的数据相同。当我改变 nd_temp 的大小时,我只会收到一个警告,所以我假设这个渐变大小不是这里的问题:
'newdata' had 181 rows but variables have 41 rows
如果这是一个幼稚的问题,我很抱歉,但我找不到问题出在哪里。
非常感谢您的帮助