我正在使用R对mtcars
数据集进行分析,当我无法为ggplot2
的因子变量添加回归线时,我感到很惊讶。具体来说,以下代码采用自动传输列am
并创建一个类型为因素的附加列。
library(ggplot2)
mtcars$automaticTransmission <- as.factor(mtcars$am)
levels(mtcars$automaticTransmission) <- c('automatic', 'manual')
新列的名称为manualTransmission
,当我运行以下代码时:
g <- ggplot(data=mtcars)
g <- g + geom_point() + aes(x=automaticTransmission, y=mpg)
g <- g + geom_smooth(method=lm)
g
geom_smooth
无法在我的情节中产生回归线。但是,如果我使用原始am
列,那么它就在那里:
g <- ggplot(data=mtcars)
g <- g + geom_point() + aes(x=am, y=mpg)
g <- g + geom_smooth(method=lm)
g
谁能告诉我为什么会这样?我猜它与R / ggplot2关系不大,误解了更基本的东西,但我只是在学习统计数据,所以我不太确定。