Если вы просто хотите визуализировать, то довольно просто использовать predict(, type = "response")
как способ показать полученную модель. Я использую glm
для обеих моделей, но технически lm
также будет работать для линейной модели:
set.seed(11)
# sample size
n <- 50
# regression coefficients
beta0 <- 0
beta1 <- 0.04
beta2 <- 0.05
# generate covariate values
x <- round(runif(n=n, min=1, max=40))
# compute mu's
mu <- exp(beta0 + beta1 * x + beta2^2 * x)
# generate Y-values
y <- rpois(n = n, lambda=mu)
# data set
data <- data.frame(matings=y, age=x)
data
fitLM <- glm(matings ~ age, data, family = gaussian(link = "identity"))
fitPOIS <- glm(matings ~ age, data, family = poisson(link = "log"))
AIC(fitLM, fitPOIS) # poisson has lower AIC
newdat <- data.frame(age = seq(1,40,0.1))
newdat$predLM <- predict(fitLM, newdata = newdat, type = "response")
newdat$predPOIS <- predict(fitPOIS, newdata = newdat, type = "response")
plot(matings ~ age, data)
lines(predLM ~ age, newdat, col = 2)
lines(predPOIS ~ age, newdat, col = 4)
legend("topleft", legend = c("lm", "poisson"), col = c(2,4), lty = 1)