Я имею дело в первый раз со случайными лесами, и у меня возникают проблемы, которые я не могу понять. Когда я запускаю анализ всего моего набора данных (около 3000 строк), я не получаю сообщение об ошибке. Но когда я выполняю тот же анализ на подмножестве своего набора данных (около 300 строк), я получаю сообщение об ошибке:
dataset <- read.csv("datasetNA.csv", sep=";", header=T)
names (dataset)
dataset2 <- dataset[complete.cases(dataset$response),]
library(randomForest)
dataset2 <- na.roughfix(dataset2)
data.rforest <- randomForest(dataset2$response ~ dataset2$predictorA + dataset2$predictorB+ dataset2$predictorC + dataset2$predictorD + dataset2$predictorE + dataset2$predictorF + dataset2$predictorG + dataset2$predictorH + dataset2$predictorI, data=dataset2, ntree=100, keep.forest=FALSE, importance=TRUE)
# subset of my original dataset:
groupA<-dataset2[dataset2$order=="groupA",]
data.rforest <- randomForest(groupA$response ~ groupA$predictorA + groupA$predictorB+ groupA$predictorC + groupA$predictorD + groupA$predictorE + groupA$predictorF + groupA$predictorG + groupA$predictorH + groupA$predictorI, data=groupA, ntree=100, keep.forest=FALSE, importance=TRUE)
Error in randomForest.default(m, y, ...) : Can't have empty classes in y.
Однако моя переменная ответа не имеет пустого класса.
Если вместо этого я пишу randomForest, как это (a+b+c,y)
вместо (y ~ a+b+c)
, я получаю это другое сообщение:
Error in if (n == 0) stop("data (x) has 0 rows") :
argument length zero
Warning messages:
1: In Ops.factor(groupA$responseA + groupA$responseB, :
+ not meaningful for factors
Вторая проблема заключается в том, что когда я пытаюсь ввести свои данные через rfImpute()
, я получаю сообщение об ошибке:
Errore in na.roughfix.default(x) : roughfix can only deal with numeric data
Однако мои столбцы - все факторы и числовые.
Может кто-нибудь увидеть, где я ошибаюсь???