我正在尝试使用此代码绘制lm
行
df <- data.frame(c1=factor(c(1,1,1,1,2,2,2,2,3,3,3,3)),c2=c(65,42,56,75,43,43,21,23,12,12,21,11))
p <- ggplot(aes(x=c1,y=c2),data=df)
p + geom_point() + geom_smooth(method="lm")
但是没有显示lm
线。我错过了什么吗?
原因是c1
是一个factor
。 将其转换为numeric
将解决问题
library(dplyr)
library(ggplot2)
df %>%
mutate(c1 = as.numeric(as.character(c1)) %>%
ggplot(aes(x = c1, y = c2)) +
geom_point() +
geom_smooth(method="lm")