【发布时间】:2015-03-16 22:07:37
【问题描述】:
我找到了一个类似问题的解决方案,当矩阵可能不是正方形时(因为它可能不是我的情况)Function to split a matrix into sub-matrices in R,它将矩阵分解为一组不重叠的子矩阵。但是,就我而言,我希望矩阵重叠。以如下矩阵为例:
M <- matrix(1:20, 5)
# [,1] [,2] [,3] [,4]
#[1,] 1 6 11 16
#[2,] 2 7 12 17
#[3,] 3 8 13 18
#[4,] 4 9 14 19
#[5,] 5 10 15 20
如果我选择子矩阵的行数和列数分别为 4 和 4,那么返回的子矩阵应该是每个可能的重叠 4X4 子矩阵,完全适合原始矩阵的边界(这是这个问题的答案可能需要与我引用的问题不同的另一个地方)。在我的示例中,应该只返回两个子矩阵。 M[1:4,1:4] 和 M[2:5,1:4]。我应该能够选择任意大小的子矩阵。我似乎找不到任何提取重叠子矩阵的例子,但我可能想多了。有人对解决此问题的最佳方法有任何想法吗?
【问题讨论】: