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: AW: counting variables within a row

From   "Martin Weiss" <>
To   <>
Subject   st: AW: counting variables within a row
Date   Wed, 9 Jun 2010 09:54:21 +0200


Casey could try this code, even though I have a suspicion that it is still
way too complicated:


//3 obs, -set seed- to be able to replicate
set obs 3
set seed 343232

//construct fake data
foreach var of newlist met_a1-met_a18{
	gen `var'=rchi2(4)

//get dummies denoting position in ranges
foreach var of varlist met_*{
	gen byte lc_`var'=inrange(`var', 0, 3)
	gen byte mc_`var'=inrange(`var', 3, 6)
	gen byte hc_`var'=`var'>6 & !mi(`var')

//count number of dummies==1
egen lightcount_d1=rowtotal(lc_*)
egen modcount_d1=rowtotal(mc_*)
egen hardcount_d1=rowtotal(hc_*) 

//get rid of auxiliaries
drop lc_* mc_* hc_*

//see results
l, noo


-----Ursprüngliche Nachricht-----
[] Im Auftrag von Casey P. Durand
Gesendet: Mittwoch, 9. Juni 2010 01:16
Betreff: st: counting variables within a row

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

Any thoughts on how to handle this?

Thanks in advance.

*   For searches and help try:

*   For searches and help try:

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