Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Matrix question

From (Brendan Halpin)
Subject   st: Matrix question
Date   Sun, 05 Feb 2012 22:01:56 +0000

I have a large mata matrix that I want to reduce: I want to replace each
block of five rows with a single row containing their mean.

My brute force approach goes as follows

| mata:
| t = mean(s[1..5 , ])
| for (i=2; i<=rows(s)/5; i++) {
|   t = t \ mean(s[1+(i-1)*5..5+(i-1)*5 , ])
| }
| end

This works, but am I missing a more efficient way of doing this, some
Mata or matrix-algebra trick?

Something tells me that I should be able to avoid looping here.

Brendan Halpin,   Department of Sociology,   University of Limerick,   Ireland
Tel: w +353-61-213147  f +353-61-202569  h +353-61-338562;  Room F1-009 x 3147    ULSociology on Facebook:         twitter:@ULSociology
*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index