[R] Error with psi value for 'segmented' package for R

Szymon Biskup szymon.biskup at wp.pl
Tue May 8 16:44:07 CEST 2012


Hi everyone,

while trying to use 'segmented' (R i386 2.15.0 for Windows 32bit OS) to determine the breakpoint I got stuck with an error message and I can't find solution. It is connected with psi value, and the error says:



Error in seg.glm.fit(y, XREG, Z, PSI, weights, offs, opz) : 
  (Some) estimated psi out of its range



This is the code I am using:

library("segmented")
curva<-read.table("lamintr1.txt", header=T)
attach(curva)
fit.glm<-glm(gpp~temp, weight=NULL, family=gaussian)
plot(temp,gpp,xlab=expression("temp"),
ylab="gpp",pch=15,cex=0.8,xlim=c(0,50), ylim=c(0,40))
o1<-glm(gpp ~ temp, weight=NULL, family=gaussian)
os1<-segmented(o1, seg.Z=~temp, psi=15, control=seg.control(n.boot=0, 
display=T, it.max=5))
plot(os1, add=TRUE, res=TRUE, se=FALSE, show.gap=TRUE, linkinv = FALSE,
res.col=1, rev.sgn=FALSE, const=0)
summary(os1)


And the most surprising fact is that it works for some of my data, eg:

temp	gpp
5	5.08050857592085
10	9.50809597873546
15	21.0206415558052
20	21.5340216521042
25	22.8455243983385
30	17.6106786978697


but not for the others, that fit within similar range (in what case I tired to change the psi value but it didn't help), eg:

temp	gpp
5	10.1494724447878
10	9.64730588470101
15	19.3439579009423
20	20.6756229089911
25	13.7902544619339
30	21.9355758560751


or

temp	gpp
5	8.64380785577685
10	9.47992535226006
15	16.7556554476544
20	14.5189937476639
25	20.6874556832793
30	17.5509059595314


I saw post with similar questons but none of them had the answer I am looking for.
Would there be anyone that could help me with this?


Thanks a lot for your time and help.


Best regards,

Szymon



More information about the R-help mailing list