Проблема в том, что в вашей модели у вас несколько ковариаций. plot()
будет запускаться автоматически, только если ваш аргумент data=
имеет ровно три столбца (один из которых является ответом). Например, на странице справки ?plot.svm
вы можете вызвать
data(cats, package = "MASS")
m1 <- svm(Sex~., data = cats)
plot(m1, cats)
. Так как вы можете показывать только два измерения на графике, вам нужно указать, что вы хотите использовать для x
и y
, когда у вас есть несколько вариантов для выбора из
cplus<-cats
cplus$Oth<-rnorm(nrow(cplus))
m2 <- svm(Sex~., data = cplus)
plot(m2, cplus) #error
plot(m2, cplus, Bwt~Hwt) #Ok
plot(m2, cplus, Hwt~Oth) #Ok
. Вот почему вы получаете ошибку «Отсутствующая формула».
Существует еще один улов. plot.svm
будет отображать только непрерывные переменные вдоль осей x
и y
. Данные data.frame с контактными линзами имеют только категориальные переменные. Функция plot.svm
просто не поддерживает это, насколько я могу судить. Вам нужно будет решить, как вы хотите обобщить эту информацию в своей собственной визуализации.