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

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
Bill Gould gave the first principles answer, while I gave an -egen-
They are complementary. 


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 

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

count if t >0 & t<.

(saved in r(N))

*   For searches and help try:

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