|  | 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: Trouble creating a--by group--cumulative variable
I'm trying to create a variable that is the stepwise, by group, 
cummulative tally of another variables values. For example, say I have 
three groups of different size, where all members of the group have the 
same score. My goal is to add the score from the current group to the 
preceeding group, on down, so the final group's calculated value is the 
sum of all groups scores. I want to accomplish this without destroying 
the data (collapsing).
groupid  score  newvar <--what I'm trying to code
1        5      5
1        5      5
2        11     16
2        11     16   2        11     16
3        4      20
3        4      20
3        4      20
3        4      20
In excel, I would in effect carry out this by looking for breaks in the 
group id and having conditional replacement in the newvar, like:
if current id != prior id replace newvar with (current score + prior 
newvar value) ;
else if current id == prior id replace newvar with (prior newvar value) ;
For example, when I get to the first observation in groupid 3, my code 
should add 4 to 16 in my newvar. While the code would simply replace a 
missing value in my newvar with the previous newvar score for the 
second observation in group 3.
Seems simple enough, but I'm relatively new to stata programming and 
haven't figured out how to do this, efficiently. I could see using the 
group() command to facilitate this, but I don't know how to call the 
max value of the prior group. In fact, I can't seem to figure out how 
to sequentially run the program observation to observation or group to 
group. Any help would be appreciated.
Dave Kershaw
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/