【发布时间】:2019-03-22 21:34:28
【问题描述】:
我希望这是一个基本问题;但是,我查看了所有建议的帖子并搜索了自己,但找不到答案。我只是想知道为什么如果我根据现有的因子变量创建一个新的数据框,我似乎会失去水平。为什么会发生这种情况,如何使用因子变量保持水平?这是一个可重现的示例来演示:
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
感谢您的帮助!
【问题讨论】:
标签: r dataframe factors levels