我试图表明我正在分析的一些数据中有一个奇怪的“颠簸”(这与市场份额有关。我的代码在这里:-

qplot(Share, Rate, data = Dataset3, geom=c("point", "smooth"))

(我很欣赏没有数据集这不是非常有用的代码)。

无论如何,我可以获得用于从 R 中生成平滑线的数字向量吗?我只需要该层来尝试将模型拟合到平滑数据。

感激地收到任何帮助。

最佳答案

就在这里。 ggplot 使用函数 loess 作为 geom_smooth 中的默认平滑器。这意味着您可以直接使用 loess 来估计您的平滑参数。

这是一个改编自 ?loess 的示例:

qplot(speed, dist, data=cars, geom="smooth")



使用 loess 估算平滑数据,使用 predict 估算估计值:
cars.lo <- loess(dist ~ speed, cars)
pc <- predict(cars.lo, data.frame(speed = seq(4, 25, 1)), se = TRUE)

估计值现在在 pc$fit 中,标准误差在 pc$fit.se 中。以下代码将拟合值提取到 data.frame 中,然后使用 ggplot 绘制它:
pc_df <- data.frame(
    x=4:25,
    fit=pc$fit)

ggplot(pc_df, aes(x=x, y=fit)) + geom_line()

关于r - 从 ggplot2 中获取向量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6691216/

10-09 23:22