【问题标题】:geom_smooth lm line not drawn - ggplot2未绘制 geom_smooth lm 线 - ggplot2
【发布时间】:2018-10-15 21:00:23
【问题描述】:

我正在尝试使用此代码绘制 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,你应该就能得到这条线了
  • 如果您确实需要factor,请设置aes(group = 1)
  • @Axeman:谢谢,就是这样!您能否将您的评论转化为答案,以便我接受?

标签: r ggplot2


【解决方案1】:

原因是c1factor。将其转换为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")          

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多