Что означает сообщение rpart "Ошибка в as.character(x): невозможно привести тип 'встроенный' к вектору типа 'символ' "?

Я бился головой rpart в течение нескольких дней (пытаясь создать деревья классификации для этого набора данных, который у меня есть), и я думаю, что сейчас пришло время спросить спасательный круг:-) Я уверен, что это что-то глупое, что я не вижу, но вот что я делал:

EuropeWater <- read.csv(file=paste("/Users/artessaniccola/Documents/",
                       "Magic Briefcase/CityTypology/Europe_water.csv",sep=""))
library(rpart)
attach(EuropeWater)
names(EuropeWater)
[1] "City"          "waterpercapita_m3" "water_class"       "population"       
[5] "GDPpercapita"  "area_km2"          "populationdensity" "climate"            
EuropeWater$water_class <- factor(EuropeWater$water_class, levels=1:3, 
                                  labels=c("Low", "Medium", "High"))
EuropeWater$climate <- factor(EuropeWater$climate, levels=2:4, 
                              labels=c("Arid", "Warm temperate", "Snow"))
EuropeWater_tree <- rpart(EuropeWater$water_class ~ 
               population+GDPpercapita + area_km2 + populationdensity + 
               EuropeWater$climate, 
               data=EuropeWater, method=class)   
Error in as.character(x) : 
          cannot coerce type 'builtin' to vector of type 'character'

и что касается меня, я не могу понять, в чем заключается Ошибка.

2 ответа

Это работает?

EuropeWater_tree <- rpart(EuropeWater$water_class ~ 
 population+GDPpercapita + area_km2 + populationdensity + EuropeWater$climate, 
 data=EuropeWater, method="class")

Я думаю, что вы должны указать тип метода.

Я бы начал с исправления формулы: убрать лишнее EuropeWater как вы уже поставляете data= аргумент:

res <- rpart(water_class ~ population + GDPpercapita + area_km2 + 
                           populationdensity + climate, 
             data=EuropeWater, method="class")

Кроме того, убедитесь, что все столбцы вашего data.frame имеют соответствующий тип. Может быть, некоторые данные, прочитанные из CSV-файла, были ошибочно прочитаны как фактор? Быстрый summary(EuropeWater) может раскрыть это.

Другие вопросы по тегам