Adding a simple lm trend line to a ggplot boxplot

前端 未结 2 903
南笙
南笙 2020-12-06 05:13

When adding a linear model trend line to a boxplot using standard R graphics I use:

boxplot(iris[,2]~iris[,1],col=\"LightBlue\",main=\"Quartile1 (Rare)\")
mo         


        
相关标签:
2条回答
  • 2020-12-06 05:42

    The error message is pretty much self-explanatory: Add aes(group=1) to geom_smooth:

    ggplot(iris, aes(factor(Sepal.Length), Sepal.Width)) +
      geom_boxplot() +
      geom_smooth(method = "lm", se=FALSE, color="black", aes(group=1))
    

    enter image description here

    0 讨论(0)
  • 2020-12-06 05:46

    FYI, this error can also be encountered (and fixed) using the simple qplot interface to ggplot2

    The error message is not explanatory enough for a few people at least :-). In this case, the key is to include only the contents of the suggested aesthetic

    library(ggplot2)
    qplot(factor(Sepal.Length), Sepal.Width, geom = c("smooth"), data= iris)
    # error, needs aes(group=1)
    qplot(factor(Sepal.Length), Sepal.Width, geom = c("smooth"), group = 1, data= iris)
    
    0 讨论(0)
提交回复
热议问题