Я пытаюсь вписать некоторые данные в R, и до сих пор я думаю, что делаю хорошо. Мой набор данных выглядит следующим образом (источник:
x<-c(1:35)
y<-c(221,88,76,203,233,228,288,498,428,443,570,640,1145,1326,1598,
529,2076,2249,2116,2795,2853,2470,2989,2648,4480,4670,4821,
3957,3780,3612,3491,4492,4401,3651,3815)
data<-data.frame(x,y)
fitG =
function(x,y,mu,sig,scale){
f = function(p){
d = p[3]*dnorm(x,mean=p[1],sd=p[2])
sum((d-y)^2)
}
optim(c(mu,sig,scale),f)
}
fitP=fitG(data$x, data$y, 35, 1, 6000)
plot(data$x, data$y)
p =fitP$par
lines(data$x, p[3]*dnorm(data$x, p[1], p[2]))
(источник, http://www.protezionecivile.gov.it, я использую данные в качестве примера)
, которые соответствуют данные довольно хорошо ... но есть ли способ
а) вместо использования функции plot с использованием пакета ggplot2, который позволяет более настраивать график и б) я хочу сделать примерку для данных здесь не показано (т. е. расширить гауссову кривую за 35-й день), возможно, добавив панель ошибок, которая показывает неопределенность в зависимости от времени ... Я пытался найти в Интернете, но все статьи, которые я нашел, предполагают, что читатель имеет сильный статистический опыт ... чего я не имею.