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.