A novice programming question. Say I have the following data
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.