如何将loess.smoothing应用于绘图然后提取点?

时间:2015-04-11 22:53:50

标签: r loess

我正在尝试将黄土平滑应用于散点图(即两个定量变量之间)。我想绘制散点图中黄土平滑发生的位置,然后想要仅提取散点图中高于平滑度的数据点。

例如,如果这是我的散点图:

qplot(mpg, cyl, data=mtcars)

我想叠加更顺畅的人:

qplot(mpg, wt, data=mtcars) + with(mtcars, loess.smooth(mpg, wt))

这会导致错误:“不知道如何将o添加到绘图中”。

然后,假设我可以让叠加起作用,我想只提取那条线以上的车。

1 个答案:

答案 0 :(得分:0)

[免责声明:此答案不完整]

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")

function help page还声明它返回带有预测的data.frame,您可以使用它来提取点数。 This SO answer通过它。不幸的是,它将其分成通常为80个点,这可能与数据不对齐,因此您必须进行一些插值以获得高于/低于的点。

P.S。这是两个问题 - 我建议将来拆分它们。