Я не уверен, что лучший подход к обработке следующего типа ошибки:
код
a = LETTERS[1:4]
b = LETTERS[1:5]
n1 = 70
n2 = 30
s1 = sample(a, n1, replace = T)
s2 = sample(b, n2, replace = T)
s3 = rbinom(n1, 1, 0.5)
s4 = rbinom(n2, 1, 0.5)
train <- data.frame( x1 = s1, y1 = s3 )
test <- data.frame( x1 = s2, y1 = s4 )
m <- glm(y1 ~ x1, data=train, family = "binomial")
predict(m, test, type="response")
ошибка
Error in model.frame.default(Terms, newdata, na.action = na.action,
xlev = object$xlevels) :
factor x1 has new levels E
ВышеMWE ошибки, которую я имел в некотором коде, который, как оказалось, имел уровень обучающих данных, которых не было в данных тестирования.В приведенном выше примере это уровень E
.
Что я могу сделать, чтобы оба кадра данных имели одинаковые уровни для каждой переменной?