Stata: 產生累積次數分配

網友問到:「哈囉,想請教版主有關STATA的問題,如果我想產生一個新變數,而這個變數為另一個變數的累積次數分配,應該怎麼寫此一指令呢?用ta X(變數) 可以得知變數分佈情況,後學所學的指令可能不足,故想請教版主是否知道? 謝謝」

首先,先使用一個資料庫:

sysuse auto, clear

tab 一下結果:

1.png

之後先產生次數分配:

bysort rep78: gen freq = _N

檢查一下結果:

list rep78 freq in 1/20

2.png

這還只是該值的頻率而已,還不是累積次數分配。如果要作累積次數分配,還得加工一下。

by rep78: gen cumfreq = _N if _n == 1

這一行是說,rep78 每一個值的第一筆資料,cumfreq 的值都設為 rep78那個值的次數。如果是該值的第二筆,那就會設成missing。結果如下圖。

3.png

接著下一步,就是把這些值加起來。

replace cumfreq = sum(cumfreq) if !mi(rep78)

最後檢查一下成果:

tabdisp rep78, cell(freq cumfreq) <br /> <br />list rep78 freq cumfreq in 1/20

4.png

大功告成!如果不要用 missing 的freq,記得要處理一下喔!

參考網頁:http://www.stata.com/support/faqs/data/tabdisp.html

2 thoughts on “Stata: 產生累積次數分配”

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top
Verified by MonsterInsights