Я ожидаю, что это основной вопрос; Тем не менее, я просмотрел все предложенные сообщения и искал себя, и я не мог найти ответ. Я просто хочу знать, почему, если я создаю новый фрейм данных на основе факторных переменных из существующего, я, похоже, теряю уровни. Почему это происходит и как я могу сохранить уровни с помощью факторной переменной? Вот воспроизводимый пример для демонстрации:
data(iris)
str(iris) # Species variable is of the class factor
iris.lm <- lm(Petal.Width ~ Species, iris) # Fit a simple model
summary(iris.lm) # Levels are displayed
# Now I make a new dataframe to do some fit quality checks
iris.plots <- as.data.frame(cbind(iris$Species, iris$Petal.Width, fitted(iris.lm),residuals(iris.lm)))
names(iris.plots) <- c("Species", "Observed", "Predicted", "Residuals")
# In the scatter plot to view Residuals by predictor (Species, of factor class), I have not maintained the levels.
plot(x = iris.plots$Species, y = iris.plots$Residuals)
head(iris.plots) # Confirming that I "lost" the levels
Спасибо за вашу помощь!