【问题标题】:Fitting two lines in ggplot scatter plot在ggplot散点图中拟合两条线
【发布时间】:2021-03-26 04:12:01
【问题描述】:

我使用 geom_point 在 ggplot2 中绘制了一个图。我想为受感染和未感染的表达值拟合一条回归线,分别表示为 y 和 n。我该怎么做?

#plotting
p = ggplot(oas, aes(x=hpi,y=expression, color = infection_status) ) +
  geom_point()
p + labs(x = "Hours post infection", y = "Expression (log2cpm +1)", colour = "Infected?")

用于制作绘图的数据框:

> print(oas)
            expression hpi infection_status
SRR1346026 -1.99296894   4                N
SRR1346027 -2.73036339   4                Y
SRR1346028 -2.09282698   4                Y
SRR1346029 -3.20461929   4                Y
SRR1346030 -2.17659914   6                N
SRR1346031 -0.79651276   6                Y
SRR1346032  0.07630312   6                Y
SRR1346033 -2.16659057   6                Y
SRR1346034 -1.60442152  12                N
SRR1346035  1.77516608  12                Y
SRR1346036  3.37072286  12                Y
SRR1346037 -1.03317733  24                N
SRR1346038  6.20459628  24                Y
SRR1346039  7.38838203  24                Y
SRR1346040  5.64524296  24                Y
SRR1346041 -2.61149329  48                N
SRR1346042 -0.62253394  48                N
SRR1346043 -1.22872678  48                N
SRR1346044  3.48661571  48                Y
SRR1346045  5.14172576  48                Y
SRR1346046  8.00577520  48                Y
SRR1346047  8.78170903  48                Y
SRR1346049 -0.05784844  72                N
SRR1346048 -1.30151097  72                N
SRR1346050  8.77407666  72                Y
SRR1346051  9.18594576  72                Y
SRR1346052  8.76202212  72                Y

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    您可以使用geom_smooth。只需使用这一行:

    p +  geom_smooth(method = "lm", se = FALSE)
    

    【讨论】:

      【解决方案2】:

      你在找这个吗:

      library(ggplot2)
      library(ggpubr) ## for getting stat_regline_equation
      
      p = ggplot(oas, aes(x=hpi,y=expression, color = infection_status) ) + geom_point()
      
      p + labs(x = "Hours post infection", y = "Expression (log2cpm +1)") + stat_smooth(se=FALSE,aes(color = infection_status), method = "lm") + stat_regline_equation()
      

      输出

      【讨论】:

        猜你喜欢
        • 2018-08-30
        • 1970-01-01
        • 1970-01-01
        • 2016-03-06
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        • 2015-06-20
        • 1970-01-01
        相关资源
        最近更新 更多