R 确定ggplot geom_平滑回归(黄土)起点和终点的aes参数?
是否有一个参数可以确定黄土几何平滑回归的起点和终点?如果我增加跨度(这样回归就不会太扭曲),开始点和结束点似乎完全不同(我在一张图上有多条线,使用as.factor),而实际上它们不是(非常接近)。我不能分享我的数据,因为这是机密的学术研究,我不知道如何复制一个例子,这。。。只是想知道这是否可能与ggplot 这里有一些图片说明了这个问题,不过 低跨度(跨度=0.1),仅需绘制750个点中的前10个-->使用此选项,您可以看到真正的起点: 然后,对于高跨度(跨度=1.0)和所有750个点,起始值和结束值完全不同。我不知道为什么会发生这种情况,但这是非常误导的:R 确定ggplot geom_平滑回归(黄土)起点和终点的aes参数?,r,ggplot2,regression,loess,R,Ggplot2,Regression,Loess,是否有一个参数可以确定黄土几何平滑回归的起点和终点?如果我增加跨度(这样回归就不会太扭曲),开始点和结束点似乎完全不同(我在一张图上有多条线,使用as.factor),而实际上它们不是(非常接近)。我不能分享我的数据,因为这是机密的学术研究,我不知道如何复制一个例子,这。。。只是想知道这是否可能与ggplot 这里有一些图片说明了这个问题,不过 低跨度(跨度=0.1),仅需绘制750个点中的前10个-->使用此选项,您可以看到真正的起点: 然后,对于高跨度(跨度=1.0)和所有750个点,起始
基本上,我想要第二张图片的平滑度,但是当我绘制所有数据(即所有750个点)时,第一张图片的具体和准确的起点。如果有什么办法,请告诉我。谢谢您的帮助。在没有看到您的代码的情况下,我已经可以看出您正在使用
xlim(0,10)
或scale\u x\u continuous(limits=c(0,10))为“span=1.0”版本设置轴限制。
是否正确?将其更改为以下内容:
coord_cartesian(xlim = c(0, 10))
这是因为xlim()
(它只是scale\u x\u continuous(limits=…)
)的包装器)不只是放大数据,而是在执行任何计算之前丢弃超出这些限制的任何数据。查看xlim()
和coord\u cartesian()
了解更多信息
使用以下示例很容易看出这是如何工作的:
# create dataset
set.seed(8675309)
df <- data.frame(x=1:1000, y=rnorm(1000))
# basic plot
p <- ggplot(df, aes(x,y)) + theme_bw() +
geom_point(color='gray75', size=1) + geom_smooth()
p
结果线的标准偏差要高得多,略高于y=0,因为前10个点恰好略高于其余990个点的平均值。如果使用coord_cartesian(xlim=…)
,则在进行计算后会放大绘图,并且不会丢弃任何点,从而为您提供与绘制的点相同的点,但与完整数据集匹配的geom_smooth()
线:
p + coord_cartesian(xlim=c(0,10))
p + coord_cartesian(xlim=c(0,10))