私は次のコードを持っています:
RFmodel = randomForest(as.factor(trainset[,55]) ~ . , trainset, ntree = ntree.array[i], mtry = mtry.array[j], maxnodes = maxnodes.array[k])
RFyhat = predict(RFmodel , testset[,-55])
RFyhat = as.numeric(levels(RFyhat)[RFyhat])
Testerr.randomforest[i,j,k] = sum(RFyhat != testset[,55])/length(testset[,55])
このコードは2行目にエラーをスローします。つまり、次のようになります。
eval(expr、envir、enclos)のエラー:オブジェクト'V55'が見つかりません
ただし、不思議なことに、1)最初の行のtrainset [、55]をtrainset $ V55に変更し、2)testset [、-55]をtestsetに変更すると、エラーが消えます。ただし、エラー率はわずかに異なります(後者では、独立変数としてtestset [、55]を使用しているためですが、それは私が推測していることです)。誰かがtrainset[、55]とtrainset $ V55の使用の違いは何であり、このシナリオでの適切な使用法は何であるかを私に説明できますか?