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

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to