Fout in eval(expr, envir, enclos): object niet gevonden

Ik begrijp niet wat hier fout gaat.

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)

Ik krijg de volgende foutmelding:

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

Antwoord 1, autoriteit 100%

Ik weet niet waarom @Janos zijn antwoord heeft verwijderd, maar het klopt: je dataframe Trainheeft geen kolom met de naam pre. Wanneer u een formule en een dataframe doorgeeft aan een modelaanpassingsfunctie, moeten de namen in de formule verwijzen naar kolommen in het dataframe. Uw Trainheeft kolommen met de namen residual.sugar, total.sulfur, alcoholen quality. U moet uw formule of uw gegevensframe wijzigen zodat ze consistent met elkaar zijn.

En even ter verduidelijking: preis een object dat een formule bevat. Die formule bevat een verwijzing naar de variabele pre. Het is de laatste die consistent moet zijn met het dataframe.


Antwoord 2, autoriteit 64%

Dit kan gebeuren als u uw datasetniet bijvoegt.


Antwoord 3, autoriteit 9%

Ik denk dat ik heb wat ik zocht..

data.train <- read.table("Assign2.WineComplete.csv",sep=",",header=T)
fit <- rpart(quality ~ ., method="class",data=data.train)
plot(fit)
text(fit, use.n=TRUE)
summary(fit)

Antwoord 4

ik gebruik
colname(trein) = plakken(“A”, colname(trein))
en het blijkt hetzelfde probleem te hebben als dat van jou.

Ik kom er eindelijk achter dat randomForest gieriger is dan rpart, het kan de colname niet herkennen met spatie, komma of andere specifieke interpunctie.

plakfunctie zal “A” en ” ” als scheidingsteken voor elke colname plaatsen.
dus we moeten de spatie afwenden en in plaats daarvan deze zin gebruiken:

colname(train) = paste("A", colname(train), sep = "")

dit zal een tekenreeks toevoegen zonder spatie.

Other episodes