0

我正在做一个场地占用研究。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

如果这是一个幼稚的问题,我很抱歉,但我找不到问题出在哪里。

非常感谢您的帮助

4

0 回答 0