我有一个多列数据框,我想构建一个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
模型。
答案 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))