我有一个数据集,我为其绘制了回归图(使用ggplot2
's stat_smooth
) :
ggplot(data = mydf, aes(x=time, y=pdm)) + geom_point() + stat_smooth(col="red")
我还想使用相同的方法获得分位数(如果更简单,只需四分位数即可)。我所能得到的只是以下内容:
ggplot(data = mydf, aes(x=time, y=pdm, z=surface)) + geom_point() + stat_smooth(col="red") + stat_quantile(quantiles = c(0.25,0.75))
不幸的是,我不能把method="loess"
in stat_quantile()
,如果我没记错的话,这将解决我的问题。
(如果不清楚,期望的行为 = 分位数的非线性回归,因此 Q25 和 Q75 的回归(分别)低于和高于我的红色曲线(Q50,如果绘制,将是我的红色曲线))。
Thanks
stat_quantile
默认情况下,在每个 x 值处绘制第 25 个和第 75 个百分位数的最佳拟合线。stat_quantile
使用rq
函数从quantreg
包(隐式地,method="rq"
in the stat_quantile
称呼)。据我所知,rq
不做黄土回归。但是,您可以使用其他灵活的函数进行分位数回归。下面是两个例子:
B 样条曲线:
library(splines)
stat_quantile(formula=y ~ bs(x, df=4), quantiles = c(0.25,0.75))
二阶多项式:
stat_quantile(formula=y ~ poly(x, 2), quantiles = c(0.25,0.75))
stat_quantile
仍在使用rq
, but rq
接受上面列出的类型的公式(如果您不提供公式,则stat_quantile
隐式使用formula=y~x
)。如果您在中使用相同的公式geom_smooth
as for stat_quantile
,您将对分位数和平均期望使用一致的回归方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)