*! 1.0.0 NJC 16 Oct 2001 program define _gsumoth version 6 syntax newvarname =/exp [if] [in] [, BY(varlist)] tempvar touse quietly { gen byte `touse'=1 `if' `in' sort `touse' `by' by `touse' `by': gen `typlist' `varlist' = sum(`exp') /* */ if `touse'==1 by `touse' `by': replace `varlist' = `varlist'[_N] replace `varlist' = `varlist' - `exp' } end