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

From |
"Susan Olivia" <olivia@primal.ucdavis.edu> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
st: re: matrix manipulation |

Date |
Fri, 12 Dec 2008 07:28:32 -0800 |

Thanks for the tips, Kit. I would like to use this opportunity to ask 3 follow up questions: 1) For each cell (i,j) of matrix B, I would like to replace its value with 1/(A[ij]) instead of dummy [0 1] as in before. In other words, matrix B[i,j] = 1/A[i,j] if A[i,j] < THRESHOLD. I seem having problem in doing this. 2) The syntax you suggested "underbar", I seem couldn't find this entry in the STATA manual. Can you please explain what is this doing? Perhaps once I know what "underbar" is really doing, I can tackle #1. 3) Also, when the threshold condition met, the diagonal element of matrix B is replaced to 1 or 1/aij. Ideally, I want the diagonal element to be zero. Is there an efficient way to do this? What I currently do is transform the matrix into variables and use the loop to change the diagonal element and then transform the variables into the matrix. I.e. svmat B local i=1 while `i'<=_N { qui recode B`i' 1=0 in `i' local i=`i'+1 } mkmat B*, matrix(B) Thanks in advance for any programming tips. Cheers, Susan On Thu, Dec 11, 2008 at 8:00 AM, Kit Baum <baum@bc.edu> wrote: <> Susan said I would like to create a binary matrix (say matrix B) using the existing information from current matrix A. Specifically, for each cell (i,j) of matrix B, I want to replace its value with 1 if the value of the corresponding cell (i,j) of matrix A is less than the specified threshold value. In other words, matrix B[i,j] = 1 if A[i,j] < THRESHOLD. No subscripting required: -------------------------------- mata: mata clear mata: void underbar(string scalar mat, real scalar thresh) { st_matrix("B", (st_matrix(mat) :< thresh)) } end sysuse auto,clear qui reg price trunk weight length turn mat list e(V) mata: underbar("e(V)",0.0001) mat list B ----------------------------------- You could pass the name of the result matrix to Mata as well if you wanted this to be a bit more general. Kit Baum, Boston College Economics and DIW Berlin http://ideas.repec.org/e/pba1.html An Introduction to Modern Econometrics Using Stata: http://www.stata-press.com/books/imeus.html * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

- Prev by Date:
**st: Expanding data for mixing two multinomial logits in -gllamm-** - Next by Date:
**st: RE: pwcorr(2)** - Previous by thread:
**Re: st: re: matrix manipulation** - Next by thread:
**st: re: matrix manipulation** - Index(es):

© Copyright 1996–2014 StataCorp LP | Terms of use | Privacy | Contact us | What's new | Site index |