【发布时间】:2018-11-05 11:15:36
【问题描述】:
dataset = read.csv('dataset/housing.header.binary.txt')
dataset1 = dataset[6] #higest positive correlation
dataset2 = dataset[13] #lowest negative correlation
dependentVal= dataset[14] #dependent value
new_dataset = cbind(dataset1,dataset2, dependentVal) # new matrix
#split dataset
#install.packages('caTools')
library(caTools)
set.seed(123) #this is needed to garantee that every run will produce the same output
split = sample.split(new_dataset, SplitRatio = 0.75)
train_set = subset(new_dataset, split == TRUE)
test_set = subset(new_dataset, split == FALSE)
#Fitting Decision Tree to training set
install.packages('rpart')
library(rpart)
classifier = rpart(formula = Medv ~ Rm + Lstat,
data = train_set)
#predicting the test set results
y_pred = predict(classifier, newdata = test_set[3], type ='class')
我想预测test_set 的第 3 列,但我不断得到
eval 中的错误(predvars、data、env):找不到对象“Rm”
即使我指定 test_set[3] 而不是 test_set[1] 包含 Rm
列名如下:Rm、Lstat、Medv。
test_set[3] 和 test_set[2] 给出相同的以下错误:
eval(predvars, data, env) 中的错误:找不到对象 Rm
和test_set[1] 给出:
eval 中的错误(predvars、data、env):找不到对象“Lstat”
我尝试了以下方法:
-
names(test_set) <- c('Rm', 'Lstat','Medv'):我明确改名了。 -
is.data.frame(test_set):我检查了 test_set 是否是一个数据框。
【问题讨论】:
-
我解决了这个问题。
-
我遇到了类似的问题,归结为修复列名
-
我有同样的问题,在清除环境 (rm(list = ls())) 并重新运行代码后消失。
标签: r classification prediction rpart