簡體   English   中英

如何在不同的 ggplot 散點圖中以不同方式描繪我的 lm() model?

[英]How can I portray my lm() model across different ggplot scatterplot differently?

我目前正在根據多個因素(准確地說是 7 個不同的變量)對 GDP 進行回歸,我的 x 變量是季度日期(2006 年第一季度到 2020 年第四季度)。 我需要 plot 我的散點圖 plot 用於帶有日期的 GDP 和 plot 我的 lm() 線性線在它上面。 我不能使用 geom_smooth() 因為它不包括所有回歸系數而且我不能用任何其他方式做到這一點並且被卡住了。 我嘗試使用 predict 但是當繪制它時是一條非線性線。 總而言之,我需要把我的 lm() model 放在我的散點圖上。

您可以做的是 plot 將分布作為散點圖,然后使用預定義的 x 值創建一組點,並根據 lm() model 的系數計算 y 值,然后將其可視化更改為線條。 如果您選擇了足夠多的 x 值(例如 100),它將看起來像一條曲線。

這是一個例子:

x0 <- seq(0,1,length.out = 25)
y0 <- x0^2 + 2*x0 + 3 + runif(n = 25, min = 0, max = 1)
library(plotly)
plot_ly(x=x0, y=y0, type="scatter", mode = "markers")

在此處輸入圖像描述

現在我們可以計算二次回歸和 plot 一組點,利用系數得到曲線。

x0_2 <- x0^2
linreg <- lm(y0~x0+x0_2)

x1 <- seq(min(x0), max(x0), length.out = 100)
y1 <- x1*x1*linreg[["coefficients"]][3] + x1*linreg[["coefficients"]][2] + linreg[["coefficients"]][1]
library(plotly)
plot_ly(x=x0, y=y0, type="scatter", mode = "markers") %>% add_lines(x=x1, y=y1, type="scatter", mode = "lines")

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM