Re: [R] sub-matrix block size

From: Dennis Murphy <djmuser_at_gmail.com>
Date: Tue, 26 Apr 2011 21:07:00 -0700

Hi:

Maybe this can help get you started. Reading your data into a matrix m,

m <- structure(c(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), .Dim = c(11L,
11L))

rowSums(m) + colSums(m) - 1
 [1] 2 2 1 -1 3 3 3 3 3 3 -1

The pair of 2's => a 2 x 2 block, 1 => a 1 x 1 matrix with value 1, -1 => a 1 x 1 matrix with entry 0, a triplet of 3's => a 3 x 3 subblock, etc. You should be able to figure out the rows and columns for each submatrix from the indices of the vector above; the values provide an indication of matrix size as well as position.

HTH,
Dennis

On Tue, Apr 26, 2011 at 5:13 PM, Santosh <santosh2005_at_gmail.com> wrote:
> Dear Rxperts
>
> Below is a small vector of values of zeros and non-zeros... was wondering if
> there is an efficient way to get the block sizes of submatrices of a big
> matrix similar to the one shown below? diagonal elements can be zero too.
> Rows with only a diagonal element may be considered as a unit block size.
>
> c(1,0,0,0,0,0,0,0,0,0,0,
>   1,1,0,0,0,0,0,0,0,0,0,
>   0,0,1,0,0,0,0,0,0,0,0,
>   0,0,0,0,0,0,0,0,0,0,0,
>   0,0,0,0,1,0,0,0,0,0,0,
>   0,0,0,0,1,1,0,0,0,0,0,
>   0,0,0,0,1,1,1,0,0,0,0,
>   0,0,0,0,0,0,0,1,0,0,0,
>   0,0,0,0,0,0,0,1,1,0,0,
>   0,0,0,0,0,0,0,1,1,1,0,
>   0,0,0,0,0,0,0,0,0,0,0)
>
> Thanks much!
> Santosh
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed 27 Apr 2011 - 04:10:10 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 27 Apr 2011 - 13:10:34 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive