私は今日、私のRコードで奇妙な振る舞いに気づきました。AICを使用したステップワイズ回帰の結果のブートストラップ関数を含むパッケージ{boot.StepAIC}を試しました。しかし、統計的背景がここに問題があるとは思いません(そう願っています)。
Rのトップレベルで関数を使用できます。これは私のサンプルコードです。
require(MASS)
require(boot.StepAIC)
n<-100
x<-rnorm(n); y<-rnorm(n,sd=2); z<-rnorm(n,sd=3); res<-x+y+z+rnorm(n,sd=0.1)
dat.test<-as.data.frame(cbind(x,y,z,res))
form.1<-as.formula(res~x+y+z)
boot.stepAIC(lm(form.1, dat.test),dat.test) # should be OK - works at me
しかし、私はそれを独自の関数でラップしたかったのです。データと数式をその関数に渡します。しかし、boot.stepAIC()内で次のようなエラーが発生します。
100個のブートストラップサンプルでモデルの適合に失敗しましたstrsplit(nam.vars、 ":")のエラー:文字以外の引数
# custom function
fun.boot.lm.stepAIC<-function(dat,form) {
if(!inherits(form, "formula")) stop("No formula given")
fit.lm<-lm(formula=form,data=dat)
return(boot.stepAIC(object=fit.lm,data=dat))
}
fun.boot.lm.stepAIC(dat=dat.test,form=form.1)
# results in an error
では、間違いはどこにありますか?地域や地球の環境と関係があるのではないでしょうか。