Fehler mit predict und glm.predict in R

Das Problem

Ich habe eine lineare Regression in R trainiert, um vorherzusagenthis.target voncityVariablen im Datenrahmendata. Dieses Training wird für eine Teilmenge der Daten durchgeführt, die durch angegeben wirdtrain.index.

model = glm('data[, this.target] ~ data$city', data = data, subset = train.index)

Ich versuche, dieses Modell an den durch angegebenen Daten zu testentest.index.

predictions = predict(model, data[test.index, ])

Aus welchem ​​Grund auch immer, dieser zweite Schritt erzeugt einen Fehler und eine Warnung.

Error in model.frame.default(Terms, newdata, na.action = na.action, xlev =
object$xlevels) : invalid type (NULL) for variable 'data$city' In addition:
Warning message: 'newdata' had 22313 rows but variables found have 0 rows

Meine Analyse

data$city ist ein Faktor von 4 Stufen, aber es scheint, als würde R ihn als "ungültigen Typ (NULL)" lesen, obwohl keine der Beobachtungen in dieser Variablen NULL sind.

Außerdem scheint es, als würde R die Zeilen, aber nicht die Spalten des Trainingssatzes korrekt lesen.dim(data[test.index, ]) ergibt einen Vektor mit 22313 und 12.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage