Лично я всегда выполнял бы некоторую форму санитарии на данных сначала, поскольку Вы никогда не можете доверять вводу данных пользователем, однако при использовании заполнителей / привязка параметров, которую введенные данные отправляются на сервер отдельно к sql оператору и затем связываются вместе. Ключ здесь - то, что это связывает обеспеченные данные с определенным типом и определенным использованием и устраняет любую возможность изменить логику SQL-оператора.
Прежде всего, функция plot.svm
предполагает, что данные различаются по двум измерениям. Данные, которые вы использовали в своем примере, являются только одномерными, поэтому границу решения необходимо будет нанести на линию, которая не поддерживается. Во-вторых, функции, похоже, требуется фрейм данных в качестве входных данных, и вы работаете с векторами.
Это должно работать ...
library(e1071)
day = c(0,1,2,3,4,5,6)
weather = c(1,0,0,0,0,0,0)
happy = factor(c(T,F,F,F,F,F,F))
d = data.frame(day=day, weather=weather, happy=happy)
model = svm(happy ~ day + weather, data = d)
plot(model, d)
Alternatively, you can use the kernlab package:
library(kernlab)
model.ksvm = ksvm(happy ~ day + weather, data = d, type="C-svc")
plot(model.ksvm, data=d)