[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
adiallo5@worldbank.org |

To |
statalist@hsphsun2.harvard.edu |

Subject |
st: Fw: Minimum of a vector or a matrix. |

Date |
Fri, 11 Nov 2005 14:46:39 -0500 |

Dear list. Courtesy of Kerry Kamirre, Here is the answer to my previous posting. Mata is really great. I'd like to thank both Nick Cox and Kerry. Have a wonderful weekend. Amadou. ----- Forwarded by Amadou Bassirou Diallo/Person/World Bank on 11/11/2005 02:43 PM ----- tech-support Sent by: ktk@stata.com To adiallo5@worldbank.org cc 11/11/2005 12:36 PM Subject Re: Minimum of a vector or a matrix. Dear Amadou, There isn't any looping needed to perform these calculations. This can all be done using the ":" operators. Here is an example of the syntax: --begin log-- : A = (0,2,3\1,2,3\3,1,5) : B = colmin(A)\colmin(A)\colmin(A) : C = B:==A : C 1 2 3 +-------------+ 1 | 1 0 1 | 2 | 0 0 1 | 3 | 0 1 0 | +-------------+ : B = rowmin(A),rowmin(A),rowmin(A) : D = B:==A : D 1 2 3 +-------------+ 1 | 1 0 0 | 2 | 1 0 0 | 3 | 0 1 0 | +-------------+ : E = C:&D : E 1 2 3 +-------------+ 1 | 1 0 0 | 2 | 0 0 0 | 3 | 0 1 0 | +-------------+ --end of log-- Sincerely, Kerry Kammire ************************************************************************ ___ ____ ____ ____ ____ tm /__ / ____/ / ____/ ___/ / /___/ / /___/ Kerry Kammire Statistics/Data Analysis Technical Services tech-support@stata.com StataCorp LP 4905 Lakeway Drive College Station, TX 77845 "VISIT OUR WEB SITE" http://www.stata.com Interested in learning more about Stata? Check out our Web based course offerings. http://www.stata.com/info/products/netcourse/ ************************************************************************ You wrote: -----Begin Original Message----- Hi, I've checked with the statalist but I need a rather urgent answer to this question. Nick Cox pointed me in a direction but I cannot take from there and get to the final solution. Here is my question. Suppose you have a matrix: : A 1 2 3 +-------------+ 1 | 0 2 3 | 2 | 1 2 3 | 3 | 3 1 5 | +-------------+ I want a true condition being placed on each element of the 3 columns. Element is one 1 if it is the smallest value of the column, and 0 otherwise. So I want: +-------------+ 1 | 1 0 1 | 2 | 0 0 1 | 3 | 0 1 0 | +-------------+ My other question is: Element (i,j) is 1 if it is the smallest value of the column j AND the column i , and 0 otherwise. I want: +-------------+ 1 | 1 0 0 | 2 | 0 0 0 | 3 | 0 1 0 | +-------------+ Here is what I coded, but I do not know how to implement double loops in mata. clear cap mata clear mata: A = (0,2,3\1,2,3\3,1,5) r = cols(A) A r B = colmin(A)\colmin(A)\colmin(A) B J = J(r,r,0) J for (i=1;i<=r;++i { J[i,j] = cond([A[i,j]==colmin(A),1,0) } J Best regards. Amadou. -----End Original Message----- * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

- Prev by Date:
**Re: st: statistical/mathematical fonts & symbols** - Next by Date:
**Re: st: statistical/mathematical fonts & symbols** - Previous by thread:
**[no subject]** - Next by thread:
**st: Ouputting tabulated data** - Index(es):

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