数式に自然なスプラインを含む R 調査 glm オブジェクトから予測を行いたいと考えています。調査パッケージのホームページから例を取り上げます。
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 に 3 次スプラインが必要です。新しいデータでモデル m2 から予測を行いたい場合、エラーが発生します。
n <- data.frame(meals=2,ell=2,avg.ed=3)
predict(m1,newdata=n,type="response")
predict(m2,newdata=n,type="response") # error
予測を行うときに、それが何であるか(つまり、クラス「ns」のオブジェクト)をpredict.svyglm
理解していないようです。ns
ソースコードから、それはそうであるようです
mm %*% coef(object)
(mm
モデル行列はどこにありますか)予測を取得します-それは使用しませんpredict.glm
、そして私はそれには正当な理由があると思います。ハッキングを始める前に、それに対する巧妙な修正があるかどうか疑問に思っていました. ありがとう。