绘制多变量GLM与响应的每个预测变量(其他预测变量保持不变)

时间:2013-02-14 20:33:23

标签: r ggplot2 regression glm

我可以绘制一个预测变量(来自mulitvariate logistic,二项式GLM)与预测的响应。我是这样做的:

m3 <- mtcars # example with mtcars
model = glm(vs~cyl+mpg+wt+disp+drat,family=binomial, data=m3)
newdata <- m3
newdata$cyl <- mean(m3$cyl)
newdata$mpg <- mean(m3$mpg)
newdata$wt <- mean(m3$wt)
newdata$disp <- mean(m3$disp)
newdata$drat <- m3$drat
newdata$vs <- predict(model, newdata = newdata, type = "response")
ggplot(newdata, aes(x = drat, y = vs)) + geom_line()

上面, drat vs vs ,所有其他预测变量保持不变。但是,我会为每个预测变量执行此操作,并且每次执行上述过程看起来都很乏味。有更聪明的方法吗?我想想象每个不同预测因子的反应,最终可能是不同的常数。

1 个答案:

答案 0 :(得分:2)

检查biomod2包中的response.plot2函数。它的开发是为物种分布模型创建响应曲线,但它基本上可以满足您的需求 - 它会生成一个多面板图,其中包含模型中使用的每个变量的响应。它还将数据输出到数据结构中,然后可以用于以您喜欢的任何方式进行绘图。