簡體   English   中英

通過原點繪制 geom_smooth/geom_spline 回歸線

[英]Plotting geom_smooth/geom_spline regression line through the origin

與這個問題相關( 通過原點繪制回歸線),我想通過原點(0)強制執行geom_smooth(method="loess")調用。 對於geom_smooth(method="lm") ,這可以通過在調用中指定公式來實現,即geom_smooth(method=lm, formula=y~x-1) geom_smooth(method="loess")的等價物是什么?

這是一件奇怪的事情。 loess回歸是一種局部自適應擬合,因此您不能將其限制為通過原點,除非您在回歸中包含原點處的權重較大的點(或緊密的點簇)。 這充其量是有點人為的。

如果您能夠擴展您想要實現的目標以及您的數據代表什么,那么可能會有更好的選擇,但與此同時,您可以像這樣實現您的要求。

首先,讓我們建立一個簡單的例子:

library(ggplot2)

set.seed(1)

df <- data.frame(x = 0:10, y = rnorm(11, 0:10) + 5)

p <- ggplot(df, aes(x, y)) + 
       geom_point() + 
       coord_cartesian(xlim = c(0, 10), ylim = c(0, 20)) +
       theme_bw(base_size = )

我們的標准geom_smooth調用如下所示:

p + geom_smooth(formula = y ~ x, method = "loess")

為了迫使它通過原點,我們可以這樣做:

p + geom_smooth(data = rbind(df, data.frame(x = 0, y = 0)),
                formula = y ~ x,
                aes(weight = c(rep(1, nrow(df)), 100)),
                method = "loess")

代表 package (v0.3.0) 於 2020 年 12 月 13 日創建

暫無
暫無

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

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