網友問到:「哈囉,想請教版主有關STATA的問題,如果我想產生一個新變數,而這個變數為另一個變數的累積次數分配,應該怎麼寫此一指令呢?用ta X(變數) 可以得知變數分佈情況,後學所學的指令可能不足,故想請教版主是否知道? 謝謝」
首先,先使用一個資料庫:
sysuse auto, clear
tab 一下結果:
之後先產生次數分配:
bysort rep78: gen freq = _N
檢查一下結果:
list rep78 freq in 1/20
這還只是該值的頻率而已,還不是累積次數分配。如果要作累積次數分配,還得加工一下。
by rep78: gen cumfreq = _N if _n == 1
這一行是說,rep78 每一個值的第一筆資料,cumfreq 的值都設為 rep78那個值的次數。如果是該值的第二筆,那就會設成missing。結果如下圖。
接著下一步,就是把這些值加起來。
replace cumfreq = sum(cumfreq) if !mi(rep78)
最後檢查一下成果:
tabdisp rep78, cell(freq cumfreq)
list rep78 freq cumfreq in 1/20
大功告成!如果不要用 missing 的freq,記得要處理一下喔!
參考網頁:http://www.stata.com/support/faqs/data/tabdisp.html
標籤: 統計分析