From | David Kantor <[email protected]> |
To | [email protected] |
Subject | Re: st: Programming question |
Date | Fri, 04 Mar 2005 12:29:35 -0500 |
At 12:00 PM 3/4/2005 -0500, Cameron Hooper wrote:
A novice programming question. Say I have the following dataIf you tell us more about what you want to do, then we may find that you really don't need to do all that explicit looping. Experience has shown that it is very rare that you really need such looping.
id x
1 1
1 2
1 4
2 2
2 8
2 6
2 2
I want to write a program to loop through each company (represented by id) and then within each company loop through each observation. Something like:
forvalues i = 1(1)<number of companies> {
for values j = 1(1)<number of observations for company `i'> {
<do stuff>
}
}
To find the number of companies in the sample I've used:
tempvar numco
egen `numco '= max(id)
local nc = `numco'[1]
This is cumbersome, but it (seems) to work. I have not been able to find the <number of observations for company `i'>. I've tried things like
tempvar nobs
by id, sort: generate `nobs' = _N
Placed outside the loop this gets me part of the way there, but I don't know how to use this information to control the inner loop. I'm sure I'm missing something obvious. Thanks.
Cameron
© Copyright 1996–2024 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |