使用stat_function

时间:2018-07-11 04:43:54

标签: r function ggplot2 curve-fitting gaussian

我使用geom_smooth(黄土函数)创建了具有三个曲线的图,但是在分析数据时它们没有用。

Geom_smooth graph

我想对三组子数据中的每一个应用一个高斯函数,由于它只给了我一行(实际上是三行重叠),所以我被困在这里:

fit <- dlply(df, .(Irr), function(x) {
  co <- coef(nls(o2 ~ exp(-(Tmp - mean)^2/(2 * sigma^2)), data = df, start = list(mean = 80, sigma= 50)))
  r <- stat_function(fun = function(x) exp(-(x - co["m"])^2/(2 * co["s"]^2)), data = df)
  attr(r, ".coef") <- co
  r
}) 

ldply(fit, attr, ".co")

ggplot(pool, aes(x = Tmp, y = o2, col = Irr)) + geom_point() + fit

Stat_function graph

我的问题是(1)我对所有图都有相同的sigma和均值(不知道如何绘制图,(2)我不知道如何为sigma和均值选择起始值

  Irr    sigma     mean
1 high 31.79787 42.62555
2  low 31.79787 42.62555
3  mid 31.79787 42.62555

感谢您的帮助和提示!谢谢!

0 个答案:

没有答案