【问题标题】:Add quadratic regression line to existing ggplot R将二次回归线添加到现有的 ggplot R
【发布时间】:2021-04-16 11:58:44
【问题描述】:

我已经将一个线性模型和一个多项式模型拟合到同一个数据帧上,并希望在同一个散点图上绘制两条线。

我有以下代码来显示我的线性模型的线,如何将多项式模型 (pm1) 添加到此?

我正在寻找类似于下图的输出。

如果需要,我愿意放弃 ggplot

ggplot(A1, aes(x = PopMns, y = Freq)) +
  geom_point() +
  stat_smooth(method = "lm", col = "red") +
  geom_line()

这是我正在使用的数据框。我正在尝试将线性和非线性模型的线绘制到基于此的散点图。

year Freq PopTotal   PopMns
1 1970  611  3700437 3700.437
2 1971  436  3775760 3775.760
3 1972  515  3851651 3851.651
4 1973  436  3927781 3927.781
5 1974  531  4003794 4003.794
6 1975  685  4079480 4079.480

【问题讨论】:

    标签: r ggplot2 scatter-plot non-linear-regression


    【解决方案1】:

    试试这个:

    #Code
    ggplot(A1, aes(x = PopMns, y = Freq)) +
      geom_point() +
      stat_smooth(method = "lm", col = "red",se=F) +
      stat_smooth(method = "lm", col = "blue",formula = y~poly(x,2),se=F) +
      geom_line()
    

    这会导致以下结果

    有没有办法用散点代替黑线?

    更新:试试这个,使用你的数据:

    library(ggplot2)
    #Code
    ggplot(A1, aes(x = PopMns, y = Freq)) +
      geom_point() +
      stat_smooth(method = "lm", col = "red",se=F) +
      stat_smooth(method = "lm", col = "blue",se=F,formula = y~poly(x,2))
    

    输出:

    【讨论】:

    • 嗨,谢谢。这确实有效,但是它删除了单个数据点并创建了一条连接线。我会尝试将结果放在主要问题中
    • @SlowBear 请同时添加您的数据样本以充分帮助您!谢谢,您可以使用dput(yourdata) 并通过编辑将输出粘贴到您的问题中!
    • @SlowBear 请您详细说明您的期望,我不清楚您现在的问题是什么。我已添加更新,请检查!
    • @Duck...抱歉,我会尽力解释。我的数据显示了针对世界人口 (X) 绘制的事件数 (Y)。我已经根据这些数据拟合了线性和非线性模型,我想在同一个散点图上显示两条线。本质上,我想说明第二个(非线性)模型显示出更好的拟合。这有帮助吗?
    • @SlowBear 删除代码中的任何 geom_line,只留下点。
    猜你喜欢
    • 2021-05-21
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 2020-05-26
    • 2021-03-25
    • 2021-01-21
    相关资源
    最近更新 更多