Цикл для сквозной матрицы - PullRequest
0 голосов
/ 29 мая 2018

У меня есть матрица 256 * 256, мне нужно разбить эту матрицу, чтобы получить 1024 блока (256 * 256 / (8 * 8)).Затем мне нужно вычислить среднее значение, стандартное отклонение, Kurtosis, стандартное отклонение каждого блока (1024 блока)

Набор данных, который я хочу получить из матрицы:

S.no Среднее стандартное отклонение Kurtosis Skewness 12,,,1024

Я застрял в цикле и извлекаю значения для вычисления статистики.

1 Ответ

0 голосов
/ 29 мая 2018

m ваша матрица.yourMatrixFunction - это функция, которую необходимо определить, которая работает на одной 8x8 -матрице и получает то, что вам нужно.

m <- matrix(1,nrow=256,ncol=256)

first <- seq(1,256,by=8)
last  <- rep(8,length(first)) %>% cumsum

pair  <- Map(function(...)cbind(...),first,last) %>% expand.grid(.,.)
first <- pair[[1]]
last  <- pair[[2]]

all_m <- Map(function(x,y) m[x[1]:x[2],y[1]:y[2]],x=first,y=last)

lapply(all_m,yourMatrixFunction)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...