RE: st: Re: Loop syntax

 From "Nick Cox" To Subject RE: st: Re: Loop syntax Date Wed, 26 Mar 2008 16:15:05 -0000

```You can count occurrences of t > 0 separately by patient.

egen tcount = sum(t > 0), by(patient)

Then counting patients, not recordings, is possible e.g. by tagging, say

egen tag = tag(patient)

count if tag & tcount

For much more detail, see the thread started on 18 March by Daniel
McNeil.
Bill Gould gave the first principles answer, while I gave an -egen-
They are complementary.

Nick

Johannes Geyer

I have some results on 236 patients and each patient has 57 recordings
stored in a single variable t. I am trying to count how many of these
patients have a score of t>0. I tried the following code:

gen tcount=0
forvalues i=1/236{
forvalues j=1/57{
if patient==`i' & t>0 {
then tcount==tcount+1
continue
}

I think a loop is unnecessary here  - you just want to count, right?
There
are many solutions, e.g.

count if t >0 & t<.

(saved in r(N))

*
*   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/
```