我有以下代码:
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])
此代码在第二行引发错误,即它说:
eval 中的错误(expr、envir、enclos):找不到对象“V55”
然而,奇怪的是,当我做两件事之一时,错误消失了,1)将第一行中的 trainset[,55] 更改为 trainset$V55,2)将 testset[,-55] 更改为 testset。但是,错误率略有不同(我想是因为在后者中,我使用 testset[,55] 作为自变量,但这只是我的猜测)。谁能向我解释使用 trainset[,55] 和 trainset$V55 之间的区别是什么,以及在这种情况下的正确用法是什么?