Fout in de tabel “Alle argumenten moeten dezelfde lengte hebben”

Ik krijg de bovenstaande fout bij het uitvoeren van mijn R-code (Naive Bayes-model met behulp van E1071).

1) SETUP: Ik heb een CSV-tabel gemaakt met de volgende zes velden:

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-code: Gebruik de tabel die hierboven is beschreven, voer ik de volgende R-code uit:

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) Uitgang: Fout in Tabel (Pred = NB_TEST_PREDICT, TRUE = TestMyData $ CNCL_FLAG): alle argumenten moeten dezelfde lengte hebben

4) Wat ik heb geprobeerd: ik heb alle rijen verwijderd met een “na” of blanco resultaten


Antwoord 1

Als u de lengtes van nb_test_predicten testmyData$cncl_flagkunt bekijken door length()-functie te gebruiken, zult u de reden voor de fout.

Other episodes