我正在尝试将黄土平滑应用于散点图(即两个定量变量之间)。我想绘制散点图中黄土平滑发生的位置,然后想要仅提取散点图中高于平滑度的数据点。
例如,如果这是我的散点图:
qplot(mpg, cyl, data=mtcars)
我想叠加更顺畅的人:
qplot(mpg, wt, data=mtcars) + with(mtcars, loess.smooth(mpg, wt))
这会导致错误:“不知道如何将o添加到绘图中”。
然后,假设我可以让叠加起作用,我想只提取那条线以上的车。
答案 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。这是两个问题 - 我建议将来拆分它们。