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

从str()中提取R中的模型对象,r,R,我使用glm2对logit模型对象进行了拟合。预测器是连续的和时变的,所以我使用基样条。当我predict(FHlogit,foo.,)模型对象时,它提供了一个预测。一切都很好 现在,我想做的是提取FHLogit的部分,然后基础矩阵提供预测。我不想从str(FHLogit)中提取有关模型的信息,我试图提取表示Beta*Predictor=2的部分。因此,我可以操纵每个预测值的基矩阵我认为使用基样条不会影响这一点。如果是,请提供一个可复制的示例 这里有一个简单的例子: df1 <- data

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


现在,我想做的是提取
FHLogit
的部分,然后基础矩阵提供预测。我不想从
str(FHLogit)
中提取有关模型的信息,我试图提取表示
Beta*Predictor=2
的部分。因此,我可以操纵每个预测值的基矩阵

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

这里有一个简单的例子:

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 
这些值是根据原始数据*系数得出的预测值,我们可以用例如

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]))

如果在
str(FHLogit)
中找不到所需的值,请查看
print.glm2
summary.glm2
(或任何
class(FHLogit)
返回的代码…不确定是否为glm2)。它就在那里的某个地方。你看过
ls(FHlogit)
?我会看看你推荐的区域。明天去周末和裁判一起复习我的书。它是glm2,所以我知道它一定在那里。谢谢你的建议
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]))