How about:
. gen N = _N
. by typ, sort: gen n = _N
. gen f = n/N
regards
uli
Matteo Foschi wrote:
> We have a little trouble with a, we think, easy task.
> We want to generate a variable, which contains the relative frequency of
> another variable values.
> We have a variable, say �type�, and want to built a new variable,
> say �typ_freq�, which shows the relatively frequency of each value of
> �type�.
>
> We have tried first with the tablepc ado-file:
> tablepc type, generate (typ_freq)
> Therefore we obtain only the relatively frequency of each observation.
>
> We can obtain - in alternatively - the cumulated frequency (variable
> freqcum) with a little program:
>
> Generate freqcum =.
> ..
> sort typ_freq
> by typ_freq: gen groups = 1 if _n ==1
> replace groups = sum(groups)
> ..
> local K = groups[_N]
> local i 1
> while `i' <= `K' {
> replace freqcum = sum(typ_freq)
> local i = `i' + 1
> }
> ..
> We are not able, however, to recode freq_cum or typ_freq in order to
> obtain the relatively frequency of each value of �type�, as bottom shows:
>
> Obs Type obs_freq freq_cum typ_freq
> 1 1 1 1 2
> 2 1 1 2 2
> 3 2 1 3 3
> 4 2 1 4 3
> 5 2 1 5 3
> 6 3 1 6 1
> 7 4 1 7 2
> 8 4 1 8 2
> 9 5 1 9 1
> 10 6 1 10 1
>
>
> Could anyone suggest what we have to do?
>
> Thanks
>
> M. Schommer / M. Foschi
> [email protected]
> [email protected]
> ++49.(0)621.181-2011
> Fakult�t f�r Sozialwissenschaften
> University of Mannheim
> Germany
> *
> * For searches and help try:
> * http://www.stata.com/support/faqs/res/findit.html
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
--
[email protected]
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/