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 |
Steve Samuels <sjsamuels@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: counting variables within a row |

Date |
Tue, 8 Jun 2010 21:42:05 -0400 |

Sorry, to match Sarah's example that should have been: local vn "one two three four five" Steve On Tue, Jun 8, 2010 at 9:36 PM, Steve Samuels <sjsamuels@gmail.com> wrote: > The only substantive correction I would make to Sarah's code is start > the loop with: > > local vn "one two three" > foreach num of local vn{ > > But the variable names are terrible to type and read! Why not change > to numeric suffixes, save yourself a lot of typing, and get more > readable code and output in the bargain? > > Steve > > > On Tue, Jun 8, 2010 at 8:20 PM, Sarah Elizabeth Edgington > <sedging@ucla.edu> wrote: >> Casey, >> You could use a foreach loop to assess your criteria for each variable and >> then add 1 to a count variable if it's true. To save myself some typing I'm >> going to assume a simpler case where you only have five variables but you >> can extend it beyond that to the full eighteen (note that if you were using >> variable names with a numeric suffix like met_a1 you could use a forvalues >> loop). >> To get your first count it might look something like this: >> >> gen lightcount_d1=0 >> foreach num in one two three four five { >> replace lightcount_d1=lightcount_d1+1 if met_a`num'>0 & met_a`num'<3 >> } >> >> There may be other ways to do this but this is the first that occurs to me. >> >> -Sarah >> >> At 04:15 PM 6/8/2010, you wrote: >>> >>> Hi folks, >>> >>> I have a dataset with 18 variables called met_aone-met_aeighteen. >>> Within each observation, I'm trying to count the number of these >>> variables with values which satisfy three criteria. I thought I could >>> handle this with -egen- and the lines of code I originally wrote are: >>> >>> egen lightcount_d1= rownonmiss ( met_aone-met_aeighteen) if ( >>> met_aone-met_aeighteen)> 0 & ( met_aone-met_aeighteen)< 3 >>> egen modcount_d1= rownonmiss (met_aone-met_aeighteen) if >>> (met_aone-met_aeighteen)>= 3.0000 & (met_aone-met_aeighteen)< 6 >>> egen hardcount_d1= rownonmiss (met_aone-met_aeighteen) if >>> (met_aone-met_aeighteen)>= 6.0000 & (met_aone-met_aeighteen)< . >>> >>> The problem as I quickly realized is that it is only counting >>> variables when every single value in the row satisfies the if >>> requirement. What I can't figure out is how to assess each variable >>> individually for meeting the criteria, but ultimately producing a new >>> variable with the total within the observation which meets my >>> criteria. >>> >>> Any thoughts on how to handle this? >>> >>> Thanks in advance. >>> >>> * >>> * 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/ >> > > > > -- > Steven Samuels > sjsamuels@gmail.com > 18 Cantine's Island > Saugerties NY 12477 > USA > Voice: 845-246-0774 > Fax: 206-202-4783 > -- Steven Samuels sjsamuels@gmail.com 18 Cantine's Island Saugerties NY 12477 USA Voice: 845-246-0774 Fax: 206-202-4783 * * 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: counting variables within a row***From:*"Casey P. Durand" <durandca@usc.edu>

**Re: st: counting variables within a row***From:*Sarah Elizabeth Edgington <sedging@ucla.edu>

**Re: st: counting variables within a row***From:*Steve Samuels <sjsamuels@gmail.com>

- Prev by Date:
**Re: st: counting variables within a row** - Next by Date:
**st: How to compare results from -reg-, -xtreg-, and -xtabond2-?** - Previous by thread:
**Re: st: counting variables within a row** - Next by thread:
**RE: st: counting variables within a row** - Index(es):