【发布时间】:2019-10-27 15:37:38
【问题描述】:
我正在尝试在每个 3x3 瓷砖中找到对角线 1 的计数,例如
0 0 1 1 0 0
0 1 0 0 1 0
1 0 0 or 0 0 1
来自下面的 15x15 矩阵。
set.seed(99)
mat <- matrix(sample(c(0,1), 225, prob=c(0.8,0.2), replace=TRUE), nrow=15)
print(mat)
[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10][,11][,12][,13][,14][,15]
[1,] 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
[2,] 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1
[3,] 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
[4,] 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1
[5,] 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0
[6,] 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
[7,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[8,] 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
[9,] 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1
[10,] 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
[11,] 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
[12,] 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0
[13,] 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0
[14,] 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1
[15,] 1 0 1 0 1 1 0 0 0 1 0 1 0 0 0
我希望上述矩阵的输出为 2。有没有办法用 for 循环和 if 语句来做到这一点?
【问题讨论】:
-
3x3 的图块可以重叠吗?
-
@jay.sf 是的,瓷砖可以重叠 :)
-
您要匹配身份 3x3s 吗?或者一个全为 1 的 3x3 矩阵是否也符合您的标准?