在R中绘制GLM模型

时间:2012-11-06 20:50:35

标签: r

我正在做一个线性回归模型,所以我现在有

mylogit <- glm(Gender ~ Drug*Environment + Ethnicity + Age, data = mydata, family = "binomial")    

性别(F / M),药物(Y / N),环境(H / L)都是因素,年龄是唯一的数字。

我试图用男性比例(y轴)与年龄(x轴)绘制散点图。有四种情况,所以有四种不同的颜色/线条:

1)药物Y / Env H. 2)药物N / Env H. 3)药物N / Env L. 4)药物Y / Env L

我尝试过使用

plot(effect("Gender*Drug*Environment*Age", mylogit, xlevels=list(Age=20:60)), + multiline=TRUE, rug=FALSE)

但是这只是将它分成两个图形,每个图形中有两条线,并没有绘制那里的各个数据点。

1 个答案:

答案 0 :(得分:2)

这个未经测试的代码。 (如果您需要测试代码,请提供数据。)

plot(x=seq(20, 65, by=5), predict( mlogit, 
                    newdata=data.frame(Drug="Y", Environment="H", Ethnicity="White",
                   Age=seq(20, 65, by=5) ), type="response" ) )
lines(x=seq(20, 65, by=5), predict( mlogit, 
                   newdata=data.frame(Drug="N", Environment="L", Ethnicity="White",
                   Age=seq(20, 65, by=5) ), type="response" ) )

您可以根据需要添加其他组,并注意predict.glm将需要Ethnicity变量的有效值。