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
______________________________________________
[email protected] 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.