我使用'raster'包来制作具有二项式响应变量的概率图。问题是当我绘制结果时,我的预测栅格值范围从-15到5而不是0-1。我使用了和Hijmans,Elith相同的代码。 2016.“使用R'进行物种分布建模(第34页)。它们的概率范围从0到1,而我不断得到奇怪的值。我做错了什么? 这是我的数据的前50行的可重复示例。
install.packages("lme4")
install.packages("raster")
install.packages("rgdal")
library("lme4")
library("raster")
library("rgdal")
# my data
data = structure(list(colorSymbol = c(1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L,
1L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L,
0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L), bio_2 = c(75L, 168L,
57L, 127L, 120L, 100L, 97L, 97L, 97L, 97L, 94L, 102L, 102L, 89L,
89L, 102L, 96L, 97L, 92L, 100L, 97L, 97L, 97L, 96L, 97L, 95L,
97L, 105L, 96L, 92L, 96L, 97L, 97L, 88L, 95L, 95L, 95L, 99L,
96L, 97L, 97L, 100L, 97L, 96L, 94L, 94L, 94L, 94L, 98L, 94L),
bio_3 = c(24L, 36L, 32L, 57L, 31L, 31L, 32L, 32L, 32L, 32L,
31L, 33L, 31L, 32L, 32L, 33L, 32L, 31L, 32L, 33L, 32L, 32L,
32L, 32L, 32L, 32L, 32L, 34L, 31L, 32L, 32L, 32L, 32L, 32L,
32L, 32L, 32L, 31L, 32L, 32L, 32L, 34L, 31L, 32L, 31L, 31L,
31L, 31L, 32L, 32L)), .Names = c("colorSymbol", "bio_2",
"bio_3"), row.names = c(NA, 50L), class = "data.frame")
# model
bio2 = data$bio_2
bio3 = data$bio_3
colorSymbol = data$colorSymbol
model = glm(colorSymbol ~ bio2 + bio3, family = binomial)
# predictors
w = getData('worldclim', var='bio', res=10)
rasstack <- stack(w$bio2, w$bio3)
p <- raster::predict(rasstack, model)
plot(p)
这是我得到的:
我在网上彻底搜索但是不能弄错。