我使用geom_smooth
(黄土函数)创建了具有三个曲线的图,但是在分析数据时它们没有用。
我想对三组子数据中的每一个应用一个高斯函数,由于它只给了我一行(实际上是三行重叠),所以我被困在这里:
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
我的问题是(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
感谢您的帮助和提示!谢谢!