我想将 mapply 与矩阵一起使用,该矩阵使用包含这样的 if 的函数:
dim_rf <- 10
rf <- matrix(runif(dim_rf*dim_rf),ncol=dim_rf)
fire_rf <- function(i,j) {
if(rf[i,j+1] + rf[i+1,j] + rf[i,j-1] + rf[i-1,j]>1)
rf[i,j] <-2
}
mapply(fire_rf, row(rf), col(rf) )
但它给出了一个错误
Error en if (rf[i, j + 1] + rf[i + 1, j] + rf[i, j - 1] + rf[i - 1, j] > :
参数长度为零
如何修改函数以使其工作?
我正在用它来做一个简单的火灾渗透模型,所以它需要很快,因为矩阵的大小应该是 100 或 1000 大