eval(expr,envir,enclos)中的错误:找不到对象 [英] Error in eval(expr, envir, enclos) : object not found

查看:995
本文介绍了eval(expr,envir,enclos)中的错误:找不到对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不明白这里出了什么问题。

I cannot understand what is going wrong here.

data.train <- read.table("Assign2.WineComplete.csv",sep=",",header=T)
# Building decision tree
Train <- data.frame(residual.sugar=data.train$residual.sugar,
                total.sulfur.dioxide=data.train$total.sulfur.dioxide, 
                alcohol=data.train$alcohol,
                quality=data.train$quality)
Pre <- as.formula("pre ~ quality")

fit <- rpart(Pre, method="class",data=Train)

我收到以下错误:

Error in eval(expr, envir, enclos) : object 'pre' not found


推荐答案

不知道为什么@Janos删除了他的答案,但是是正确的:您的数据框火车没有名为 pre 的列。将公式和数据框传递给模型拟合函数时,公式中的名称必须引用数据框中的列。您的火车的列名为 residual.sugar total.sulfur 酒精质量。您需要更改公式或数据框,以使它们彼此保持一致。

Don't know why @Janos deleted his answer, but it's correct: your data frame Train doesn't have a column named pre. When you pass a formula and a data frame to a model-fitting function, the names in the formula have to refer to columns in the data frame. Your Train has columns called residual.sugar, total.sulfur, alcohol and quality. You need to change either your formula or your data frame so they're consistent with each other.

还要说明一下: Pre 是包含公式的对象。该公式包含对变量 pre 的引用。后者必须与数据框保持一致。

And just to clarify: Pre is an object containing a formula. That formula contains a reference to the variable pre. It's the latter that has to be consistent with the data frame.

这篇关于eval(expr,envir,enclos)中的错误:找不到对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆