R svyglm用样条函数预测

时间:2013-05-15 15:34:26

标签: r survey

我想根据公式中包含自然样条的R测量glm对象进行预测。以survey package homepage

为例
library(survey)
data(api)
dclus2 <-svydesign(id=~dnum+snum, fpc=~fpc1+fpc2, data=apiclus2)
m <- svyglm(api00 ~ ell + meals + avg.ed, design = dclus2)

我将最后一个变量更改为avg.ed.现在我想做以下事情:

m2 <- svyglm(api00 ~ ell + meals + ns(avg.ed,4), design = dclus2)

即。我想在avg.ed上使用立方样条曲线。如果我想在一些新数据上从模型m2进行预测,我会遇到错误:

n <- data.frame(meals=2,ell=2,avg.ed=3)
predict(m1,newdata=n,type="response")
predict(m2,newdata=n,type="response")    # error

似乎predict.svyglm在进行预测时并不理解ns就是它(即类“ns”的对象)。从源代码看来它确实

mm %*% coef(object)

(其中mm是模型矩阵)来获得预测 - 它不使用predict.glm,我怀疑它有充分的理由。在我开始破解之前,只是想知道是否有一个聪明的解决方案。 感谢。

0 个答案:

没有答案