我有一个256*256的矩阵,我需要打破这个矩阵才能得到1024个块(256*256/(8*8))。然后我需要计算每个区块(1024个区块)的平均值,标准差,峰度,标准差
我想从矩阵中得到的数据集是
S.no平均标准差峰度1 2。。。。1024
我陷入了循环和检索值来计算统计数据的困境。
发布于 2018-05-29 16:48:04
m是您的矩阵。yourMatrixFunction是一个您需要定义的函数,它在单个8x8-matrix上工作,并获得您想要的东西。
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)https://stackoverflow.com/questions/50579071
复制相似问题