Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
"Pablo Bonilla" <pablo.bonilla1234@gmail.com> |

To |
"Stata List" <statalist@hsphsun2.harvard.edu> |

Subject |
Re: st: RE: Save -table- command results |

Date |
Mon, 12 Mar 2012 16:05:09 +0000 |

Nick, this is amazing. Thank you so much. Best. Pablo. Sent via BlackBerry from T-Mobile -----Original Message----- From: Nick Cox <n.j.cox@durham.ac.uk> Sender: owner-statalist@hsphsun2.harvard.edu Date: Mon, 12 Mar 2012 15:53:47 To: 'statalist@hsphsun2.harvard.edu'<statalist@hsphsun2.harvard.edu> Reply-To: statalist@hsphsun2.harvard.eduSubject: RE: st: RE: Save -table- command results At this distance -statsmat- doesn't seem a very interesting command to change. Kit may be more enthusiastic. It's perhaps more instructive to show how to write your own program. I didn't add in weights, but that's not difficult, and I have a meeting somewhere else in a few minutes' time. program mysums version 8.2 syntax varlist(numeric) [if] [in] , by(varname) [matname(name)] quietly { marksample touse markout `touse' `by', strok count if `touse' if r(N) == 0 error 2000 local J : word count `varlist' tempvar group egen `group' = group(`by') if `touse' su `group', meanonly local I = r(max) if "`matname'" == "" local matname "mysums" matrix `matname' = J(`I', `J', 1) tokenize `varlist' forval i = 1/`I' { forval j = 1/`J' { su ``j'' if `group' == `i', meanonly matrix `matname'[`i', `j'] = r(sum) } } levelsof `by' if `touse' capture matrix rownames `matname' = `r(levels)' matrix colnames `matname' = `varlist' } end Nick n.j.cox@durham.ac.uk -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Pablo Bonilla Sent: 12 March 2012 15:33 To: Stata List Subject: Re: st: RE: Save -table- command results Dear Nick, You'r right, I am sorry for not explain the provenance os -statsmat-. Thank you for the suggestion, but still it is faster and more efficient to use the -statsmat- command because the preserver and the collapse commands are very slow in huge data bases like the one I am using. That would be great if the -statsmat- command can present results with the by() option for several variables. Best, Pablo. Sent via BlackBerry from T-Mobile -----Original Message----- From: Nick Cox <n.j.cox@durham.ac.uk> Sender: owner-statalist@hsphsun2.harvard.edu Date: Mon, 12 Mar 2012 14:58:02 To: 'statalist@hsphsun2.harvard.edu'<statalist@hsphsun2.harvard.edu> Reply-To: statalist@hsphsun2.harvard.eduSubject: st: RE: Save -table- command results -statsmat- is from SSC (Christopher F. Baum and friend). Please remember to explain the provenance of user-written commands. You don't have to use -statsmat- at all to get a matrix. There are many ways of doing it. Here is one: preserve collapse (sum) var1 var2 var3 var4 var5 [w=factor], by(decil) mkmat var*, matrix(mysums) row(decil) restore Nick n.j.cox@durham.ac.uk Pablo Bonilla I would like to know if there is a way to save the results from the -table- command in matrices. I am using the -statsmat- command but It is very inefficient if I need to use it with the by() option. For instance, this is what I want to save: table decil [w = factor], c(sum var1 sum var2 sum var3 sum var4 sum var5) f(%19.2f) row But I have to do it in this way in order to get a matrix: cap mat drop mat1 foreach var in var1 var2 var3 var4 var5 { statsmat `var' [w = factor], by(decile) stat(sum) format(%16.0f) matrix(`income') mat mat1 = nullmat(INCOME),`income' } * * 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/ * * 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/

**References**:**st: Save -table- command results***From:*Pablo Bonilla <pablo.bonilla1234@gmail.com>

**st: RE: Save -table- command results***From:*Nick Cox <n.j.cox@durham.ac.uk>

**Re: st: RE: Save -table- command results***From:*"Pablo Bonilla" <pablo.bonilla1234@gmail.com>

**RE: st: RE: Save -table- command results***From:*Nick Cox <n.j.cox@durham.ac.uk>

- Prev by Date:
**RE: st: RE: Save -table- command results** - Next by Date:
**Re: st: test after margins and xtmixed** - Previous by thread:
**RE: st: RE: Save -table- command results** - Next by thread:
**Re: st: RE: Save -table- command results** - Index(es):