Błąd w przewidywaniu i glm.predict w R

Problem

Trenowałem regresję liniową w R, aby przewidziećthis.target zcity, zmienne w ramce danychdata. Ten pociąg jest wykonywany na podzbiorze danych, który jest określony przeztrain.index.

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

Próbuję przetestować ten model na przetrzymywanych danych, które są określone przeztest.index.

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

Z jakiegokolwiek powodu ten drugi krok powoduje błąd i ostrzeżenie.

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

Moja analiza

data$city jest współczynnikiem 4 poziomów, ale wygląda na to, że R odczytuje go jako „nieprawidłowy typ (NULL)”, chociaż żadna z obserwacji w tej zmiennej nie jest NULL.

Ponadto wygląda na to, że R odczytuje wiersze, ale nie kolumny zestawu treningowego poprawnie.dim(data[test.index, ]) daje wektor z 22313 i 12.

questionAnswers(2)

yourAnswerToTheQuestion