1

数式に自然なスプラインを含む 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、そして私はそれには正当な理由があると思います。ハッキングを始める前に、それに対する巧妙な修正があるかどうか疑問に思っていました. ありがとう。

4

0 に答える 0