如何在数据框中选择两个所需的列以构建svm模型?

时间:2019-05-03 12:58:17

标签: r svm

我有一个多列数据框,我想构建一个svm模型。问题是如何选择两个特定的列作为数据。例如,如果我的数据框是这样的:

df <- data.frame("x1"=c(1,2,3),"x2"=c(4,5,6),"x3"=c(7,8,9),"x4"=c(1,0,1))

我想针对x4和x2和x3建立一个svm模型。

2 个答案:

答案 0 :(得分:0)

您可以使用select中的dplyr,如下所示:

df <- select(df, x1,x2,x3)

答案 1 :(得分:0)

这应该可以解决问题:

library(e1071)
df <- data.frame("x1"=c(1,2,3),"x2"=c(4,5,6),"x3"=c(7,8,9),"x4"=c(1,0,1))

#SVM model
model <- svm(x4 ~ x2 + x3, data = df)
summary(model)

#Model predictions
pred <- predict(model, subset(df,select=c(x2,x3)))
print(pred)

具体地说,我认为您正在寻找subset函数: subset(df,select=c(x2,x3))