[R] "Spreading risk" in a matrix

ACroske Audy3272 at yahoo.com
Fri Jul 18 20:24:01 CEST 2008

I have a binary matrix that represents a map of invasive species risk (1 =
infested; 0 = uninfested). It started as a matrix of probabilities
(developed in ArcMap) that I converted to binary with this R code:

Now, I would like to "spread" the risk for year 2 of the invasion. I'd like
to do this by location, so, for every cell that is currently a 1, next year
it's immediate neighbors (above, below, to the right and left) would also
become ones. Here is a function I came up with to attempt this (clearly, my
function writing is rough, to say the least):

       for (i in 1:N){
            if (res[i]==1){

When I run this code, I get many messages saying "In res[i]<-binary.matrix :
number of items to replace is not a multiple of replacement length"

I know that if I actually got this to work, it would be a string of numbers
(because of the "numeric"), but I'm just working with my limited
function-writing knowledge, and I assumed it would be possible to convert
the results to a matrix later on.

I'm aware that this function is probably a disaster, but that's why I'm
View this message in context: http://www.nabble.com/%22Spreading-risk%22-in-a-matrix-tp18535227p18535227.html
Sent from the R help mailing list archive at Nabble.com.

More information about the R-help mailing list