Goodmorning List Member, I would like to ask your help using mapply or Vectorize to make a loop more efficient. I have a m*4 matrix called borders and I would like to add a 5th column. Thus first A. I add the new 5th column borders<-cbind(borders,matrix(data=NA,nrow=nrow(borders))) B. For every cell in this new column I call a function and I put the results in for (i in c(1:nrow(borders))) # How can I can improve that with mapply? borders[i,5]<-findCell(c(borders[i,1],borders[i,2]),sr)
As you can see from B I call a function called findCell that takes as input two arguments -x: a vector with two cells thus the c(borders[i,1],borders[i,2]) -sr: a matrix that is always the same (this input is always constant) Then I tried to change the loop in B and use mapply. mapply(findCell,x=cbind(test[,1],test[,2]),sr=sr) > Error in if (!is.finite(length.out) || length.out < 0L) > stop("length must be non-negative number") else if > (length.out == : > missing value where TRUE/FALSE needed > Calls: mapply -> .Call -> <Anonymous> -> seq > -> seq.default I would be grateful if you can help me understand me what this error message is about. Best Regards Alex ______________________________________________ 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.