1
私は次のように簡単なフィッティングと相互検証を使用しようとしています:Rの "Variable Length Differ"エラーの原因は何ですか?
library(ISLR)
attach(Auto)
Auto$cut.values = cut(displacement,2)
fit = glm(mpg~Auto$cut.values)
cv.glm(Auto, fit, K=10)$delta[1]
をしかし、私のようにエラーが表示されます。
Error in model.frame.default(formula = mpg ~ Auto$cut.values, data = list(: variable lengths differ (found for 'Auto$cut.values')
しかし、私は少し変更しようとした場合3行目を実行してエラーを表示し、結果を得る:
Auto$cut.values = cut(displacement,2)
fit = glm(mpg~cut.values, data = Auto)
cv.glm(Auto, fit, K=10)$delta[1]
私が知る限り、cut.values, data = Auto
はAuto$cut.values
と同じです。
ここでは何が欠けていますか?
「mpg」についてなぜあなたは 'カット'だけを気にかけますか? mpgが何を参照しているのかを定義する必要があります。 – Masoud
私はそれに言及するのを忘れました。しかし、私は前にアタッチ(自動)を使用しました。 –
'attach'を使うのはお勧めできません。これは一般的な問題の原因です。一時的なアナログ 'with'を使うことができ、多くの関数には同じ目的を果たすデータ引数があります。 – lmo