从str()中提取R中的模型对象

时间:2013-10-04 00:53:51

标签: r

我使用glm2拟合了一个logit模型对象。预测因子是连续的和时间变化的,所以我使用基准样条。当我predict(FHlogit, foo..,)模型对象时,它提供预测。一切都很好。

现在,我想要做的是提取FHLogit的部分和提供预测的基础矩阵。我不想从str(FHLogit)中提取有关模型的信息。我正在尝试提取Beta * Predictor = 2部分。所以,我可以操纵每个预测变量的基础矩阵

1 个答案:

答案 0 :(得分:0)

我不认为使用基准样条会影响这一点。如果是,请提供可重复的示例。

这是一个简单的案例:

df1 <- data.frame(y=c(0,1,0,1),
                  x1=seq(4),
                  x2=c(1,3,2,6))
library(glm2)
g1 <- glm2(y ~ x1 + x2, data=df1)
### default for type is "link"
> stats::predict.glm(g1, type="link")
          1           2           3           4 
 0.23809524  0.66666667 -0.04761905  1.14285714 

现在,由于不确定这些号码是如何到达的,我们可以使用predict.glm来查看上述来源。我们可以看到type =“link”是最简单的情况,返回

pred <- object$fitted.values # object is g1 in this case

这些值是由原始数据 * 系数产生的预测,我们可以通过例如验证。

all.equal(unname(predict.glm(g1, type="link")[1]),
          unname(coef(g1)[1] + coef(g1)[2]*df1[1, 2] + coef(g1)[3]*df1[1, 3]))