Dear all -
Not sure if this is really a troublshooting list, but here goes.
Please reply to me, and to the list if folks think it is of general interest.
After running a simulation, I am trying to invoke a 2 row 1 column graph
with par(mfrow=c(2,1))
This is followed by calling the two graphs where ngen is the number of reps
the simulation has run and rt and at are vectors of length ngen
plot(c(1:ngen),at)
plot(c(1:ngen),rt)
I am getting a error message:
Error in plot.xy(xy,......: negative length vectors not allowed.
a check on the length of the vectors length() displays them as all 1000
(ngen) and positive.
If i run the simulation without the par call, each plot prints separately.
If i run a different simulation, par works fine.
Any ideas? (the code is below)
cheers,
andrew
--------------------------------------------------------------------------
#parameter values for the run
mu<-0.045; phi0<-0.0009; x<-1;
# set up parts of matrix that don't change over time
A<-matrix(0,11,11);
for (i in 1:9) {A[i+1,i]<-1};
A[11,11]<-1-mu;
#initial population
xt<-0*c(1:11); xt[11]<-10; xt[5:10]<-20;
ngen<-1000;
at<-matrix(0,ngen,1);
rt<-matrix(0,ngen,1);
for (j in 1:ngen){
# recruitment
xj<-x*(1+0.05*rnorm(1));
phi<-xj/(sum(xt[5:10])+xt[11]);
if(phi<phi0) r<-0 else r<-0.94*(phi-phi0)/(0.0044+(phi-phi0));
A[11,10]<-r; A[10,10]<-(1-r)*(1-mu);
rt[j]<-r;
#fecundity
f<-9.5*(phi^0.345); A[1,11]<-0.5*f;
# experimentally added adult mortality
# drate<-0.2 *(1+0.05*rnorm(1));
drate<-0;
A[11,11]<-1-mu-drate;
xt<-A%*%xt;
at[j]<-xt[11];
}
par(mfrow=c(2,1));
plot(c(1:ngen),at,type="b",cex=1.5); title("Adults");
plot(c(1:ngen),rt,type="b",cex=1.5); title("Recruitment");
Dr. Andrew Beckerman
Institute of Biological Science
University of Stirling, Stirling FK9 4LA, Scotland, UK
phone:+44 (0)1786 467808 fax: +44 (0)1786 464994
par(mfrow)
2 messages · Andrew Beckerman, stefano iacus
This problem is a known bug of the macintosh() device. Usually by simply enlarging the window solves the problem of "negative length". It is written in the Mac Faq and I'm trying to fix this too for the next release. Sorry about that. Stefano
On Mercoledì, maggio 30, 2001, at 11:12 , Andrew Beckerman wrote:
I am getting a error message: Error in plot.xy(xy,......: negative length vectors not allowed.