Я нашел решение аналогичного вопроса, который разбивает матрицу на набор неперекрывающихся подматриц, когда матрица может быть не квадратной (а в моей ситуации это может быть не так) Функция для разделения матрицы на подматрицы в 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]
. Я должен иметь возможность выбрать любой произвольный размер подматрицы. Кажется, я не могу найти никаких примеров извлечения перекрывающихся субматриц, но, возможно, я слишком много думаю об этом. Есть ли у кого-нибудь идеи, как лучше всего это сделать?