我正在尝试将黄土平滑应用于散点图(即两个定量变量之间)。我想绘制散点图中出现黄土平滑的位置,然后只想提取散点图中高于该平滑的数据点。
例如,如果这是我的散点图:
qplot(mpg, cyl, data=mtcars)
我想叠加平滑:
qplot(mpg, wt, data=mtcars) + with(mtcars, loess.smooth(mpg, wt))
这会导致错误:“不知道如何将 o 添加到绘图中”。
然后,假设我可以让叠加工作,我想只提取那条线以上的汽车。
[免责声明:此答案不完整]
ggplot2具有添加黄土平滑器的功能:stat_smooth()例如
qplot(mpg, cyl, data=mtcars) + stat_smooth()
# For datasets with n < 1000 default is loess, to hard-code:
qplot(mpg, cyl, data=mtcars) + stat_smooth(method="loess")
函数帮助页面还声明它返回一个带有预测的data.frame结果,您可以使用它来提取点。这个 SO 答案通过它。不幸的是,它通常将其分成 80 个点,这可能与数据不一致,因此您必须进行一些插值才能获得上方/下方的点。
PS这是两个问题-我建议将来将它们分开。