表中的错误“所有参数必须具有相同的长度”

问题描述 投票:0回答:1

我在尝试运行我的R代码(使用e1071的Naive Bayes模型)时遇到上述错误。

1)设置:我创建了一个包含以下六个字段的csv表:

dep variable    -> cncl_flag: 0,1

indep variables -> Channel:  red, blue, green, black 
                -> Age:      <1, 1-2, >2
                -> Cases:    0,1
                -> Products: product 1, product 2, ... , product 8
                -> Dollars:  <100, 100-200, ... , >1000

2)R代码:使用上面详述的表格,运行以下R代码:

myData<-read.csv("C:/Users/me/Desktop/R/NBC.csv", header = TRUE, sep = ",")

myData[,"train"] <- ifelse(runif(nrow(myData))<0.80,1,0)
trainColNum <- grep("train",names(myData))
trainmyData <- myData[myData$train==1,-trainColNum]
testmyData <- myData[myData$train==0,-trainColNum]


library(e1071)
nb_model <- naiveBayes(cncl_flag~.,data = trainmyData)

summary(nb_model)
nb_test_predict <- predict(nb_model,testmyData[,-1])
table(pred=nb_test_predict,true=testmyData$cncl_flag)

3)输出:表中的错误(pred = nb_test_predict,true = testmyData $ cncl_flag):所有参数必须具有相同的长度

4)我尝试过:删除了包含任何“NA”或空白结果的所有行

r machine-learning naivebayes
1个回答
0
投票

如果你可以使用nb_test_predict函数检查testmyData$cncl_flaglength()的长度,你就会明白错误的原因。

© www.soinside.com 2019 - 2024. All rights reserved.