为什么我会得到带有 naiveBayes 函数的未定义列?

Why am i getting undefined columns with naiveBayes function?

我正在尝试 运行 R 中的 naiveBayes 函数并不断收到 "undefined columns selected" 的错误并且无法弄清楚原因。

文件: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

据我所知,我正在选择所有列,但显示它们未定义。

我认为您与数据集中现有的列名称发生冲突。示例:其中一些不是 "proper" 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