2016-09-11 2 views
-2

James et al。の「Rでのアプリケーションによる統計学習の入門」の教科書の例を続けてみようとしています。エラーメッセージに私は理解していません。この最後の行ではMASS:ボストンデータセットでもオブジェクトが見つからないランダムフォレストでバッグする

library(MASS) 
library(randomForest) 
set.seed(1) 
bag.boston=randomForest(medv~.,data=Boston, subset=train,mtry=13, importance=TRUE) 
yhat.bag = predict(bag.boston,newdata=Boston[-train,]) 

私はevalの中のエラーメッセージ

エラー(exprの、ENVIR、enclos)を取得:オブジェクトの時代」

は、なぜ私はこれを取得していますが見つかりませんエラーメッセージとその防止方法を教えてください。同様の質問がここで尋ねられたことがわかります: Error in running randomForest : object not found 。その場合、OPは、元のデータセットとしてデータフレームではなく行列を入力しようとしていましたが、それは予測呼び出しではなくrandomForest呼び出しにあります。

この人randomForest in R object not found errorも同様の問題がありましたが、テキストファイルの非アスキー文字にトレースされましたが、このデータセットの特徴ではありません。

おそらく、私は予測関数の中で "newdata"という単語をsubsidiseすることになっているかもしれませんが、それは実際のテキストの例とは本当に異なる答えをもたらすようです。

他の考えはありますか?

答えて

2

あなたが参照している本のコピーは、著者とUSCによってpublished onlineでした。

このコードブロックを実行するために必要なコードを除外しました。本書では、コードスニペットは、多くのページとコードブロックの間で分割されたファイル/ Rセッションからのもので、trainの作成などの以前のコードの実行に依存しています。その本から必要なコードが含まれていれば正常に動作します。あなたが持っているエラーは再現できません。

library(MASS) 
library(randomForest) 
library(tree) 
set.seed(1) 
train = sample(1:nrow(Boston), nrow(Boston)/2) 

bag.boston=randomForest(medv~.,data=Boston, subset=train,mtry=13, importance=TRUE) 
yhat.bag = predict(bag.boston,newdata=Boston[-train,]) 

summary(yhat.bag) 
Min. 1st Qu. Median Mean 3rd Qu. Max. 
    7.965 17.050 21.330 22.700 25.530 48.690 
+1

はぁ。うん、私はすべてを再起動し、あなたが提供したコードを正確に実行したので、私のために働く。関数を実行するには、tree.boston行は不要です。 – ohnoplus

関連する問題