您好我正在使用以下r脚本构建随机林:
# load the necessary libraries
library(randomForest)
testPP<-numeric()
# load the dataset
QdataTrain <- read.csv('train.csv',header = FALSE)
QdataTest <- read.csv('test.csv',header = FALSE)
QdataTrainX <- subset(QdataTrain,select=-V1)
QdataTrainY<-as.factor(QdataTrain$V1)
QdataTestX <- subset(QdataTest,select=-V1)
QdataTestY<-as.factor(QdataTest$V1)
mdl <- randomForest(QdataTrainX, QdataTrainY)
我收到以下错误:
Error in randomForest.default(QdataTrainX, QdataTrainY) :
NA not permitted in predictors
但我发现我的数据中没有出现NA。
供参考,这是我的数据:
https://docs.google.com/file/d/0B0iDswLYaZ0zUFFsT01BYlRZU0E/edit
有谁知道为什么会抛出这个错误?我会继续寻找同一时间。 在此先感谢您的帮助!
答案 0 :(得分:4)
给定的数据确实包含一些缺失值(特别是7个):
sapply(QdataTrainX, function(x) sum(is.na(x)))
## V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
## 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## V17 V18 V19 V20 V21 V22 V23 V24 V25 V26 V27 V28 V29
## 0 0 0 0 0 0 1 1 1 1 1 1 1
因此,列V23到V29每个都有一个缺失值
which(is.na(QdataTrainX$V23))
## 318
给出行号。