如果你在處理資料時,裡面有學生id,像是 80070394,甚至更長如: 5140712902,如果你直接 list 出來,會出現像這樣的情況:
這些值沒顯示完整數值,而是用科學記號,像是 8.0e+07,或是 1.1e+09。如果你要知道完整數值,還得到 data editor 裡面一筆一筆去看,這會浪費不少時間。
要解決這樣的問題,就得從資料格式上來處理。至於為什麼會出現這樣的問題,這跟 output width 有關,詳情請參閱 Stata help 的 format。
首先來瞧瞧左方 variable list 是怎麼顯示的。studentid 的記號是 long %8.0f,ssid 是 double %8.0f ,long 與 double 是兩種不同的儲存格式,這有興趣請參考 datatypes 得到更多資訊,但這裡不影響。有影響的是 %8.0f。在小數點前的數字指的是要顯示幾位數,小數點後的數字指的是要顯示小數點後幾位,f 指的是 fixed format。依照這個例子來說,就是顯示 8 位數,不顯示小數點以後的位數。
所以這裡要作的很簡單,就是將顯示的位數加大。我的程式如下:
format studentid %9.0f
format ssid %12.0f
列出結果就正常了:
參考資料
http://www.ats.ucla.edu/stat/stata/faq/longid.htm
標籤: 統計分析