3

一連のデータの分位点回帰直線をプロットしようとしています。fullrange 引数を TRUE に設定しgeom_quantile()て使用した場合と同様に予測する方法を示すために、分位回帰線を拡張したいと思います。stat_smooth()ただし、 にはフルレンジの引数はありませんgeom_quantile()。例として、以下を参照してください。

data("mpg")
library(ggplot2)
library(dplyr)

m <-
   ggplot(mpg, aes(displ,1/ hwy)) +
   geom_point()
m + geom_quantile() +
   scale_x_continuous(limits = c(1,9),
                      breaks = waiver(),
                      n.breaks = 8)

p <-
   ggplot(mpg, aes(displ,1/ hwy)) +
   geom_point()
p + stat_smooth(method = lm, fullrange = TRUE, se = FALSE, color = "red") +
   scale_x_continuous(limits = c(1,9),
                      breaks = waiver(),
                      n.breaks = 8)

m1 <-
   ggplot(mpg, aes(displ,1/ hwy)) +
   geom_point()
m1 + geom_quantile(fullrange = TRUE) +
   scale_x_continuous(limits = c(1,9),
                      breaks = waiver(),
                      n.breaks = 8)

の最初の部分はm、一連のデータに対する分位点回帰直線を示します。についてpは、たとえば 9 の変位まで予測される線形回帰線を表示できます。m1ただし、回帰線を延長することはできません。ggplotこの種の予測を行うように指示する方法はありますか? もちろん、簡単な方が望ましいですが、提案があれば検討します。前もって感謝します!

4

1 に答える 1

2

内部では をgeom_quantile使用quantreg::rqしており、直接使用して を使用して同じ効果を生成するのは非常に簡単geom_ablineです。

mod  <- quantreg::rq(I(1/hwy) ~ displ, tau = c(0.25, 0.5, 0.75), data = mpg)
r_df <- setNames(as.data.frame(t(coef(mod))), c("intercept", "gradient"))

m1 + geom_abline(data = r_df, aes(slope = gradient, intercept = intercept)) +
     scale_x_continuous(limits = c(1,9),
                      breaks = waiver(),
                      n.breaks = 8)

ここに画像の説明を入力

于 2022-02-17T20:24:52.877 に答える