Hi Jessica and Jim,

Thanks for the feedback,
Jessica: currently I am defining the functions as the same, but they
will be altered at some point soon. Also, I figured that defining the
matrix elements as functions would give a dual possibility to the
matrix entry depending on the conditions (i.e. output of WET(t))

Jim: I tried what you suggested and now have another error! The main
reason I was defining m1, m2 and m3 as a matrix with dimensions NP is
so that I can alter NP depending on how many patches I wish to model.
Naturally, typing out m1[1,2], m1[2,1] etc gets prohibitively
time-consuming for large matrices. When I use the original migration
code for initializing the summaries of incoming movement to each
patch, I get the error message: "Error in m1[i, j] * y[zz + k] :
non-numeric argument to binary operator"

The code is as follows:
s <- rep(0,NP*16)

  for (i in 1:NP)
  {
        z <- (i-1)*16

        for (k in 3:6)
        {
                for (j in 1:NP)
                {
                        zz <- (j-1)*16
                        s[z+k] <- s[z+k] + m1[i,j]*y[zz+k]
                }
        }
        
        for (k in 7:11)
        {
                for (j in 1:NP)
                {
                        zz <- (j-1)*16
                        s[z+k] <- s[z+k] + m2[i,j]*y[zz+k]
                }
        }

        for (k in 13:16)
        {
                for (j in 1:NP)
                {
                        zz <- (j-1)*16
                        s[z+k] <- s[z+k] + m3[i,j]*y[zz+k]
                }
        }


When I type in m1 to look at the matrix, it has NULL in the places I
need a 0, and a ? in the places I need output from WET(t), thus no
numeric output.

Any advice on what to do is greatly appreciated...


Aimee.

______________________________________________
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