作者:羊洋(西北師范大學(xué))
郵箱:im.yang@foxmail.com
引言
在應(yīng)用Stata的過(guò)程中,我們經(jīng)常會(huì)遇到一些數(shù)字顯示格式的問(wèn)題鸣奔,比如在估計(jì)結(jié)果中出現(xiàn)科學(xué)計(jì)數(shù)法使得結(jié)果不夠直觀,有一些投稿圖要求圖中的數(shù)字必須保留一位小數(shù)等纲熏。這些雖然都是小問(wèn)題尘吗,但有時(shí)卻讓人很抓狂。其實(shí)這些格式問(wèn)題兢孝,都可以通過(guò)代碼進(jìn)行控制窿凤,本文就從顯示格式的代碼組成入手,對(duì)這一問(wèn)題進(jìn)行梳理跨蟹。
Stata中控制數(shù)據(jù)顯示格式的代碼形如%7.2f
雳殊,它由以下元素組成:首先輸入%
,表明開(kāi)始設(shè)定格式窗轩。接著可以選擇性輸入負(fù)號(hào)"-"
和數(shù)字"0"
夯秃,負(fù)號(hào)表示數(shù)據(jù)靠左列式,輸入的數(shù)字0則會(huì)保留在開(kāi)頭痢艺。然后依次輸入數(shù)字仓洼、
"."
和數(shù)字,數(shù)字
表示顯示格式的寬度堤舒,數(shù)字
表示小數(shù)點(diǎn)后保留的小數(shù)位數(shù)色建。再然后輸入字母
或
或
,用于標(biāo)記具體格式舌缤,
表示結(jié)果用科學(xué)計(jì)數(shù)法表示箕戳,
表示固定格式,
表示通用設(shè)定国撵,即Stata會(huì)自動(dòng)設(shè)定顯示格式陵吸。最后,可以選擇性的輸入字母
卸留,將數(shù)據(jù)設(shè)置成有逗號(hào)的西方計(jì)數(shù)方法(多用于表示價(jià)格)走越,即小數(shù)點(diǎn)之前每三位打一個(gè)逗號(hào)。
接下來(lái)我們先結(jié)合display
命令用一些例子具體說(shuō)明上述含義耻瑟,再進(jìn)一步說(shuō)明如何設(shè)置變量旨指、估計(jì)結(jié)果和圖片中數(shù)字的顯示格式。
1 -display-命令結(jié)果顯示
使用display
命令列式結(jié)果時(shí)喳整,在數(shù)據(jù)或數(shù)學(xué)表達(dá)式之前添加所要設(shè)定的格式類型谆构,就能顯示想要的數(shù)字格式。比如有原始數(shù)據(jù)框都,我們對(duì)該數(shù)據(jù)做一些顯示格式的設(shè)定搬素,結(jié)果如下:
. dis %7.2f 1000.12345
1000.12
. dis %9.2e 1000.12345
1.00e+03
. dis %8.2fc 1000.12345
1,000.12
可見(jiàn),%7.2f
設(shè)定了顯示結(jié)果只保留兩位小數(shù);%9.2e
將結(jié)果用科學(xué)計(jì)數(shù)法表示熬尺,并保留兩位小數(shù)(值得說(shuō)明的是摸屠,科學(xué)計(jì)數(shù)法中寬度的設(shè)置格式比較特殊,顯示寬度要大于或等于小數(shù)位數(shù)+7粱哼,即小數(shù)位數(shù)為2時(shí)寬度應(yīng)至少為9季二,詳情請(qǐng)見(jiàn)help format
);%8.2fc
在第一個(gè)結(jié)果的基礎(chǔ)上采用西方計(jì)數(shù)方法揭措。值得說(shuō)明的是胯舷,當(dāng)采用西方計(jì)數(shù)方法時(shí),由于顯示結(jié)果中多了一個(gè)逗號(hào)绊含,因此要增加結(jié)果顯示的寬度桑嘶,即寬度從7變?yōu)?。
2 變量的顯示格式
對(duì)于數(shù)值型的變量躬充,可以直接用format
命令定義顯示格式逃顶,在format
命令后添加需要改變顯示格式的變量名稱,在加上具體的顯示設(shè)定(如%6.3f
)充甚。用Stata提供的汽車價(jià)格數(shù)據(jù)進(jìn)行舉例:
. sysuse auto.dta, clear
. list price gear in 1/3
+------------------+
| price gear_r~o |
|------------------|
1. | 4,099 3.58 |
2. | 4,749 2.53 |
3. | 3,799 3.08 |
+------------------+
. format price %7.1fc / /保留一位小數(shù)口蝠,并保留價(jià)格中的逗號(hào)
. format gear %6.3f / /保留三位小數(shù)
. list price gear in 1/3
+--------------------+
| price gear_r~o |
|--------------------|
1. | 4,099.0 3.580 |
2. | 4,749.0 2.530 |
3. | 3,799.0 3.080 |
+--------------------+
在回歸分析之前,通常需要對(duì)變量進(jìn)行描述性統(tǒng)計(jì)津坑,在描述性統(tǒng)計(jì)時(shí),也會(huì)面臨顯示格式的問(wèn)題傲霸。我們選擇一些變量列出它們的描述性統(tǒng)計(jì)疆瑰,并設(shè)定顯示類型為保留兩位小數(shù)。在命令tabstat
的選項(xiàng)里加入f(%9.2f)
即可進(jìn)行控制昙啄。
. tabstat price mpg rep78 length turn foreign, ///
> stats(n mean sd min max) c(s) f(%9.2f)
variable | N mean sd min max
-------------+--------------------------------------------------
price | 74.00 6165.26 2949.50 3291.00 15906.00
mpg | 74.00 21.30 5.79 12.00 41.00
rep78 | 69.00 3.41 0.99 1.00 5.00
length | 74.00 187.93 22.27 142.00 233.00
turn | 74.00 39.65 4.40 31.00 51.00
foreign | 74.00 0.30 0.46 0.00 1.00
----------------------------------------------------------------
3 估計(jì)結(jié)果的顯示格式
通常在估計(jì)完一個(gè)模型后穆役,我們會(huì)將估計(jì)的結(jié)果儲(chǔ)存起來(lái),以便同其它估計(jì)結(jié)果一起輸出比較梳凛。在輸出估計(jì)結(jié)果時(shí)耿币,主要涉及到估計(jì)系數(shù)和標(biāo)準(zhǔn)誤(或t值、p值)的顯示問(wèn)題韧拒。比如當(dāng)估計(jì)系數(shù)較大時(shí)淹接,Stata有時(shí)會(huì)將系數(shù)用科學(xué)計(jì)數(shù)法顯示,這對(duì)于我們比較不同模型的系數(shù)大小時(shí)存在不夠直觀的缺點(diǎn)叛溢,這時(shí)就需要我們對(duì)結(jié)果的顯示格式進(jìn)行設(shè)定塑悼。
還是利用汽車價(jià)格的數(shù)據(jù)進(jìn)行說(shuō)明,先做了兩個(gè)對(duì)汽車價(jià)格的回歸模型楷掉,再用esttab
命令輸出估計(jì)結(jié)果厢蒜,該命令可以分別對(duì)估計(jì)系數(shù)和標(biāo)準(zhǔn)誤進(jìn)行格式設(shè)定,比較方便。在命令的選項(xiàng)中加入b()
就能設(shè)定系數(shù)的顯示格式斑鸦,加入se()
設(shè)定標(biāo)準(zhǔn)誤的格式愕贡,括號(hào)中填寫(xiě)想要設(shè)定的具體格式。進(jìn)一步巷屿,有時(shí)模型的F統(tǒng)計(jì)量過(guò)大固以,也可能會(huì)用科學(xué)計(jì)數(shù)法列式,因此可以添加sfmt()
選項(xiàng)控制輸出的單值的格式攒庵。
. qui reg price mpg
. est store reg1
. qui reg price mpg rep78
. est store reg2
* 輸出估計(jì)結(jié)果
. esttab reg1 reg2, b(%9.2f) se(%7.2f) sfmt(%7.3f) / / /
> star(* 0.1 ** 0.05 *** 0.01) mtitle(reg1 reg2) / / /
> scalar(r2 r2_a N F) compress nogap
------------------------------------
(1) (2)
reg1 reg2
------------------------------------
mpg -238.89*** -271.64***
(53.08) (57.77)
rep78 666.96*
(342.36)
_cons 11253.06*** 9657.75***
(1170.81) (1346.54)
------------------------------------
N 74 69
r2 0.220 0.251
r2_a 0.209 0.228
F 20.258 11.057
------------------------------------
Standard errors in parentheses
* p<0.1, ** p<0.05, *** p<0.01
4 圖片中數(shù)字的顯示格式
之前在論文投稿時(shí)嘴纺,雜志社要求圖片中的數(shù)要保留一位小數(shù),在網(wǎng)上查了一些資料才完成設(shè)定浓冒。還是以剛才的數(shù)據(jù)為例栽渴,畫(huà)出汽車價(jià)格對(duì)里程數(shù)的散點(diǎn)圖,并附加擬合線稳懒。要想設(shè)置圖片中的數(shù)字都保留一位小數(shù)闲擦,其實(shí)只要在對(duì)應(yīng)的ylabel
和xlabel
的子選項(xiàng)中添加format()
表明特定格式,代碼和結(jié)果如下:
#delimit ;
twoway (scatter price mpg) (lfit price mpg)
,
ylabel(, format(%9.1f) angle(0) nogrid)
xlabel(, format(%3.1f))
;
#delimit cr
總結(jié)
只要了解了Stata中控制數(shù)據(jù)顯示格式的代碼(如%7.2f
)场梆,改變數(shù)據(jù)的顯示格式就不困難墅冷。在各個(gè)情境下,基本都可以通過(guò)添加選項(xiàng)的方法來(lái)進(jìn)行控制或油,不同的是各個(gè)命令添加顯示格式選項(xiàng)的位置有差異寞忿,不過(guò)大多可以通過(guò)查閱命令對(duì)應(yīng)的help
文件來(lái)獲取選項(xiàng)添加的位置。