Ranney, Steven wrote:
Hmm. After checking my data, both the Spawner and Mtempcv columns are of equal lengths. While I could be wrong, recycling doesn't seem to be the issue.
Notice that you have two "Spawner": One in the data, and one in newdata. These are probably not of the same length.

As a relatively new user of R, I tried to adjust the newdata= issue by adding Mtempcv to 
the newdata= call (i.e., predict(mod2, list(Spawner=mod2a, Mtempcv=mod2a)).  This 
eliminated the "longer object length is not a multiple..." warning message, but 
the plot produces only a flat line at 0 on the y axis.
Well, it would, if mod2a is much larger than the Mtempcv from your data, and the coefficient is negative. How about predict(mod2, newdata=data.frame(Spawner=mod2a, Mtempcv=0.3)) ?

-----Original Message-----
From: Peter Dalgaard [mailto:[EMAIL PROTECTED]
Sent: Thu 7/3/2008 3:07 PM
To: Ranney, Steven
Cc: r-help@r-project.org
Subject: Re: [R] lines() warning message
Ranney, Steven wrote:
I have data that looks like

Year,Recruit,Spawner,Mtempcv
1958,4532,775,0.24125
1959,22996,2310,0.16319
1960,628,2990,0.46056
1961,879,1400,0.33028
1962,14747,1130,0.22618
1963,13205,790,0.20596
1964,31793,1195,0.19229
1965,10621,981,0.20363
1966,22271,870,0.3452
1967,8736,1104,0.27511
1968,8761,883,0.10884
1969,18885,1421,0.17799
1970,10098,1198,0.2106
1971,3394,760,0.22098
1972,1697,1354,0.39461
1973,25159,1308,0.19696
[truncated]

with program

#Ricker Curve
mod2=nls(Recruit~(Spawner*exp((delta+echo*Spawner)+(foxtrot*Mtempcv))), 
data=box48,
    start=list(delta=4, echo=0, foxtrot=-7), trace=TRUE)
plot(Recruit~Spawner, data=box48, pch=19)
mod2a=seq(369, 3000)
lines(mod2a, predict(mod2, list(Spawner=mod2a)), col="red", lty=2)

R has no problem finding a solution to the nls() model (only 7 iterations are 
needed), but when I try to plot the line on the requested plot, I get the warning 
message "Warning message:
In (delta + echo * Spawner) + (foxtrot * Mtempcv) :
  longer object length is not a multiple of shorter object length."

R tries to plot the line, but it appears as just a mess of vertical lines that 
get more dense where (I would imagine) the actual line is to go.  Any ideas 
what may be causing this issue?

Hmm,,, The predict() call looks dodgy. The model depends on Spawner AND Mtempcv, but you're only giving the former in the newdata= part. So a good guess that one of them is recycled to the length of the other.



--
  O__  ---- Peter Dalgaard             Ă˜ster Farimagsgade 5, Entr.B
 c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])              FAX: (+45) 35327907

______________________________________________
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