12/08/27 11:10:35.51
>>608
ピークを得るためには、当てはめる関数の形が必要でしょう。
あなたの研究対象に対する先験的知識が本質的に必要だと思われます。
例えばポアソン分布に当てはめられるタイプのデータだと次のようになります。
d <- data.frame(x=1:30, y=round((dpois(1:30,10) + runif(30, max = 0.01))*100))
barplot(d$y, names.arg = 1:30)
こんなサンプルデータで、nls()を使って、
m1 <- nls(y ~ (a * (lambda^x*exp(-lambda)/gamma(x+1)) + b),
start = c(a = 1, b = 1, lambda = 10), data = d)
とすると、
> max(predict(m1))
[1] 13.14048
> which.max(predict(m1))
[1] 9
9日目で最大値13のピークになることが分かります。