2017-02-04 1 views
0

내 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 코드 :

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) 

: 나는 다음과 R 코드를 실행 위에 설명 된 표를 사용하여 3) 출력 : 테이블의 오류 (pred = nb_test_predict, true = testmyData $ cncl_flag) : 모든 인수의 길이는 같아야합니다.

4) 시도 : "NA"또는 빈 결과가 포함 된 모든 행을 제거했습니다.

답변

0

testmyData$cncl_flag의 길이를 length() 함수를 사용하여 확인할 수 있으면 오류의 원인을 알 수 있습니다.

관련 문제