[R] Confidence intervals nls
Peter Ehlers
ehlers at ucalgary.ca
Mon Feb 15 21:06:42 CET 2010
On 2010-02-15 12:01, FishR wrote:
>
> Dear All
>
> I am quite new to R and would appreciate some help fitting 95% confidence
> intervals to a nls function. I have the data
>
> DOY CET
> 90 5.9
> 91 8
> 92 8.4
> 93 7.7
> 95 6.6
> 96 6.8
> 97 7.1
> 98 9.7
> 99 12.3
> 100 12.8
> 102 11
> 103 9.3
> 104 9.8
> 105 9.9
> 107 7.7
> 110 6.2
> 111 5.9
> 112 5.9
> 113 3.4
> 114 3.5
> 116 3.3
> 117 5.4
> 118 6.3
> 119 9.7
> 120 11.2
> 121 7.3
> 124 7.8
> etc
>
> I am trying to use some code that has been previously posted on the help
> boards but keep getting an error message "dim(X) must have a positive
> length"
>
> plot(DOY, CET)
> model<-nls(CET~a+(b*sin(((2*pi)/365)*(DOY+t))),start=list(a=9.5, b=-6.5,
> t=65))
> summary(model)
> days<-seq(0,365,1)
> predict(model,list(DOY=days))
>
> se.fit<- sqrt(apply(attr(predict(model,list(DOY = days)),"gradient"),1,
> function(x) sum(vcov(fm)*outer(x,x))))
> matplot(days, predict(model,list(DOY = days))+
> outer(se.fit,qnorm(c(.5, .025,.975))),type="l")
>
> Any help would be greatly appreciated
>
> Best wishes
>
> Tom
>
Maybe you just need to change 'fm' to 'model' in
function(x) sum(vcov(fm)*outer(x,x))))
?
-Peter Ehlers
More information about the R-help
mailing list