我试图在R中运行naiveBayes函数,并因“未定义的选定列”而不断出现错误,并且无法弄清原因。
文件:http://www.mediafire.com/file/1dgqluc1f8gbngc/Train.Example.csv
FA.train <- read.csv("Train.Example.csv")
FA.train$Fatalities <- as.factor(FA.train$Fatalities)
fatalities_nb <- naiveBayes(Fatalities~., data = FA.train)
fatalities_nb
据我所知,我正在选择所有列,但这表示它们是未定义的。
答案 0 :(得分:2)
我相信您会与数据集中的现有列名发生冲突。示例:其中一些不是“适当的” R名称。当您清理然后使用正确的R名称时,一切似乎都很好。我尝试了以下方法,效果很好:
library(tidyverse)
library(e1071)
dat <- read_csv("data/Train.Example.csv") %>%
janitor::clean_names()
dat$Fatalities <- as.factor(dat$fatalities)
fatalities_nb <- naiveBayes(Fatalities~., data = dat)
得到了:
> summary(fatalities_nb)
Length Class Mode
apriori 2 table numeric
tables 18 -none- list
levels 2 -none- character
isnumeric 18 -none- logical
call 4 -none- call