我在绘制一个glm的拟合值时遇到了一个奇怪的问题。
我的代码是:
Data <- data.frame("Sp" = c(111.4, 185, 231, 272.5, 309, 342, 371, 399,
424, 447, 469, 489, 508, 527, 543, 560, 575, 589, 603, 616, 630, 642, 653,
664, 675, 685, 695, 705, 714, 725, 731, 740), "nrC" = 1:32)
modell <- glm(Sp ~ nrC, data = Data, family = Gamma)
pred <- predict(modell, newdata = data.frame("nrC" = 1:32), type = "response")
plot(Data$nrC, Data$Sp, xlim = c(0, 40), ylim = c(50, 1000))
lines(Data$nrC, pred, col = "blue")
除了水平镜像外,表示拟合值的蓝线似乎没问题
我对此比较陌生,所以也许我在这里遗漏了一些明显的东西,但我无法弄清楚出了什么问题。
对所提供的数据here执行相同操作非常正常。
我很感激任何暗示!
答案 0 :(得分:1)
此数据集的伽马分布并不完全正确。您制定的图中显示的数据显示了平方根看起来的功能。尝试像这样指定模型:
modell <- glm(Sp ~ sqrt(nrC), data = Data, family = gaussian)
pred <- predict(modell, newdata = data.frame("nrC" = 1:32), type = "response")
plot(Data$nrC, Data$Sp, xlim = c(0, 40), ylim = c(50, 1000))
lines(Data$nrC, pred, col = "blue")