R
1for (i in 1:5) { 2 fit.gam <- train(maximum_temperature_decrease ~ ns(baseline_PI, i) + ns(BMI) + 3 ns(preoperative_Hb) + ns(baseline_temperature), data = Anes.train, 4 method ="glm", trControl = trainControl(method = "cv", number = 5)) 5 lm.pred <- predict(fit.gam, Anes.test) 6 RMSE <- sqrt(sum((Anes.test$maximum_temperature_decrease - lm.pred)^2) / 12 ) 7 print(RMSE) 8} 9 10 エラー: Can't subset columns that don't exist. 11x Column `i` doesn't exist.
for文を用いて,一般化加法モデル(GAM)を実行しようとしたのですが,上記のようにエラーが出てきてしまいます.
どうにかして,for文で書きたいのですが可能でしょうか?
ns とは何でしょうかスプライン関数ではないですよね https://www.rdocumentation.org/packages/splines/versions/3.6.2/topics/ns
ご返信ありがとうございます。
スプライン関数の1つである自然3次スプライン(ns)を用いました。
その際に自由度を自分で設定する必要があるのですが、それをfor文で行おうと思っています。
こういった使い方は知らないのですが
「i」カラムがないと叱られているのでtrainの使い方に合っていないのでは?
train()の前にnsでdata.frameを作ってそのdata.frameをtrain()に与えれば動くかと
あなたの回答
tips
プレビュー