【发布时间】:2017-01-19 20:52:43
【问题描述】:
考虑到上下左右相邻单元格,我想对矩阵的每个元素应用一个函数:
a=1; b=3; c=8; d=2
m <- matrix(1:20, nrow=4, ncol=5)
mn <- matrix(NA, nrow=4, ncol=5)
for(i in 2:3){
for(j in 2:4){
mn[i,j] <- a*m[i-1,j]+b*m[i+1,j]+c*m[i,j-1]+d*m[i,j+1]
}
}
是否有使用 sapply 或其他方法的替代方法?
【问题讨论】:
-
一个小的简化:
a <- c(1, 3, 8, 2)在顶部。然后,在循环中,mn[i,j] <- sum(c(m[i-1,j], m[i+1,j], m[i,j-1], m[i,j+1]) * a).
标签: r