统计描述的Stata实现.docx
《统计描述的Stata实现.docx》由会员分享,可在线阅读,更多相关《统计描述的Stata实现.docx(17页珍藏版)》请在冰豆网上搜索。
统计描述的Stata实现
第二章统计描述的Stata实现
本章主要用到的Stata主要命令*
描述性统计:
summary变量名[weight=],detail
频数表:
tabulate变量名[weight=]
计算均数:
means变量名[weight=]
频数分布图:
histogram变量名,bin()start()
*Stata的命令可以用前几个字母代替,如summary可以由su代替,tabulate可以由tab代替。
下面就直接用缩写,不再赘述。
例2-1某市1982年调查120名20岁男子的身高(cm)资料如下,试编制频数表和频数图。
164.4
169.2
174.7
175.0
165.0
162.8
170.2
160.1
170.9
170.1
175.5
170.3
172.3
168.2
166.7
171.7
166.8
171.6
165.2
172.0
171.7
168.8
171.8
174.5
171.7
172.7
166.3
174.0
169.0
174.5
171.8
174.9
180.0
173.5
178.1
169.7
176.1
181.3
173.8
164.7
172.2
172.8
178.6
172.0
182.5
172.0
173.5
166.3
176.1
169.2
176.4
168.4
171.0
169.1
166.9
181.1
170.4
165.2
168.0
172.4
164.3
166.9
176.4
164.2
177.2
168.3
177.8
173.0
167.4
173.2
169.9
172.1
170.4
174.8
172.1
164.4
170.5
165.0
172.8
166.8
175.8
171.1
174.8
172.7
169.4
178.2
174.1
177.2
170.0
172.7
168.3
177.1
172.5
166.3
175.1
174.4
162.3
171.3
177.0
163.5
168.8
177.6
175.2
171.5
172.5
179.1
172.6
184.8
168.3
182.8
170.3
167.5
171.2
170.4
166.9
178.5
164.1
169.5
173.4
170.3
数据格式如下:
x
1
164.4
2
175.5
3
171.7
4
171.8
5
172.2
6
176.4
7
164.3
8
169.9
9
175.8
10
168.3
11
168.8
12
170.3
13
169.2
14
170.3
15
168.8
16
174.9
17
172.8
18
168.4
19
166.9
20
172.1
21
171.1
22
177.1
23
177.6
24
167.5
25
174.7
26
172.3
27
171.8
28
180
29
178.6
30
171
31
176.4
32
170.4
33
174.8
34
172.5
35
175.2
36
171.2
37
175
38
168.2
39
174.5
40
173.5
41
172
42
169.1
43
164.2
44
174.8
45
172.7
46
166.3
47
171.5
48
170.4
49
165
50
166.7
51
171.7
52
178.1
53
182.5
54
166.9
55
177.2
56
172.1
57
169.4
58
175.1
59
172.5
60
166.9
61
162.8
62
171.7
63
172.7
64
169.7
65
172
66
181.1
67
168.3
68
164.4
69
178.2
70
174.4
71
179.1
72
178.5
73
170.2
74
166.8
75
166.3
76
176.1
77
173.5
78
170.4
79
177.8
80
170.5
81
174.1
82
162.3
83
172.6
84
164.1
85
160.1
86
171.6
87
174
88
181.3
89
166.3
90
165.2
91
173
92
165
93
177.2
94
171.3
95
184.8
96
169.5
97
170.9
98
165.2
99
169
100
173.8
101
176.1
102
168
103
167.4
104
172.8
105
170
106
177
107
168.3
108
173.4
109
170.1
110
172
111
174.5
112
164.7
113
169.2
114
172.4
115
173.2
116
166.8
117
172.7
118
163.5
119
182.8
120
170.3
为制作频数表,键入Stata命令:
.genf=int((x-160)/2)*2+160
产生用以作频数表的新变量“f”
.tabf
对变量“f”作频数表
“gen”命令产生新变量“f”,将各观察值转换成相应该组的下限值。
int为取整函数,结果为括号内函数值的整数部分,如int(3.24)=3。
“160”为第一组的下限,“2”为组距。
以第一例观察值160.1cm为例,f=int((160.1-160)/2)*2+160=160,则它应归入“160~”组。
结果如下:
f|Freq.PercentCum.
------------+-----------------------------------
160|10.830.83
162|32.503.33
164|108.3311.67
166|119.1720.83
168|1613.3334.17
170|2218.3352.50
172|2218.3370.83
174|1411.6782.50
176|108.3390.83
178|54.1795.00
180|32.5097.50
182|21.6799.17
184|10.83100.00
------------+-----------------------------------
Total|120100.00
histf,start(160)width
(2)
作频数图
结果如下:
例2-2某医生测定230名正常成年男子的空腹血清胰岛素样生长因子-1(IGF-1F)水平,整理后编制为频数分布表(表2-2),请根据该频数分布表作频数图。
表2-2230名正常人空腹血清胰岛素样生长因子-1水平中位数的计算
IGF-1F
(1)
人数
(2)
频率(%)
(3)
累计频数
(4)
累计频率(%)
(5)=(4)/
50~
30
13.04
30
13.0
150~
71
30.87
101
43.9
250~
49
21.30
150
65.2
350~
28
12.17
178
77.4
450~
14
6.09
192
83.5
550~
12
5.22
204
88.7
650~
10
4.35
214
93.0
750~
8
3.48
222
96.5
850~
5
2.17
227
98.7
950~1050
3
1.30
230
100.0
合计
230
100.00
—
—
Stata数据格式如下:
x
f
1
50
30
2
150
71
3
250
49
4
350
28
5
450
14
6
550
12
7
650
10
8
750
8
9
850
5
10
950
3
tabx[weight=f]
制作汇总表的频数表
在本例中,x的取值为各组的下限,而f是各组的频数,所以需要用Stata的频数选项[weight=]。
结果:
x|Freq.PercentCum.
------------+-----------------------------------
50|3013.0413.04
150|7130.8743.91
250|4921.3065.22
350|2812.1777.39
450|146.0983.48
550|125.2288.70
650|104.3593.04
750|83.4896.52
850|52.1798.70
950|31.30100.00
------------+-----------------------------------
Total|230100.00
histx[weight=f],start(50)width(100)
制作频数图
例2-3随机测量某地10名20~30岁健康男性居民血清铁含量(
),测量值分别为6.58,7.42,15.32,15.78,17.60,17.98,15.21,17.53,20.11,22.64,试求其平均血清铁含量。
Stata数据为
x
1
6.58
2
7.42
3
15.32
4
15.78
5
17.6
6
17.98
7
15.21
8
17.53
9
20.11
10
22.64
sux
计算均数标准差
结果:
Variable|ObsMeanStd.Dev.MinMax
-------------+--------------------------------------------------------
x|1015.6175.0752546.5822.64
所以平均平均血清铁含量为15.617。
例2-4计算例2-1的频数表(表2-3)中120名男子的平均身高
显然,如果用Stata,对于例2-1的资料不需要事先转化为频数表,然后再计算均数。
不妨用例2-2作为例子展示Stata计算频数表资料的均数。
sux[weight=f]
计算频数表资料的均数
结果:
Variable|ObsWeightMeanStd.Dev.MinMax
-------------+-----------------------------------------------------------------
x|10230290223.412350950
例2-58名麻疹易感儿接种麻疹疫苗3周后,其血凝抑制抗体滴度分别为1:
4,1:
8,1:
16,1:
32,1:
64,1:
128,1:
256,1:
512。
试求其平均抗体滴度。
数据格式:
x
1
4
2
8
3
16
4
32
5
64
6
128
7
256
8
512
genlogx=log(x)
计算x的自然对数
sulogx
计算自然对数的均数,得到3.81231
dispexp(3.81231)
计算均数的反对数,即指数得到几何均数为45.254857
另外,Stata还有一个直接计算几何均数的命令:
meansx
结果为:
Variable|TypeObsMean[95%Conf.Interval]
-------------+----------------------------------------------------------
x|Arithmetic8127.5-20.53203275.532
|Geometric845.2548310.94481187.1206
|Harmonic816.06275..
------------------------------------------------------------------------
Missingvaluesinconfidenceinterval(s)forharmonicmeanindicate
thatconfidenceintervalisundefinedforcorrespondingvariable(s).
ConsultReferenceManualfordetails.
Means命令计算算术均数、几何均数以及调和均数,其中几何均数为45.25483,和前面的结果相同。
例2-6某地区50名麻疹易感儿童接种麻疹疫苗3周后,测其血凝抑制抗体滴度,如表2-4中第
(1)栏和第
(2)栏,求平均抗体滴度。
表2-450名麻疹易感儿童平均抗体滴度计算表
抗体滴度
(1)
人数
(2)
滴度倒数
(3)
(4)
(5)=
(2)×(4)
1:
4
1
4
0.6021
0.6021
1:
8
2
8
0.9031
1.8062
1:
16
6
16
1.2041
7.2246
1:
32
10
32
1.5051
15.0510
1:
64
16
64
1.8062
28.8992
1:
128
8
128
2.1072
16.8576
1:
256
5
256
2.4082
12.0410
1:
512
2
512
2.7093
5.4186
合计
50
—
—
87.9003
数据如下:
x
f
1
4
1
2
8
2
3
16
6
4
32
10
5
64
16
6
128
8
7
256
5
8
512
2
genlogx=log(x)
计算x的自然对数
sulogx〔weight=f〕
计算自然对数的均数,得到4.04798
dispexp(4.04798)
计算均数的反对数,即指数得到几何均数为57.281631
也可以用
meansx[weight=f]
结果:
(analyticweightsassumed)
Variable|TypeObsMean[95%Conf.Interval]
-------------+----------------------------------------------------------
x|Arithmetic895.76-2.30755193.8275
|Geometric857.281622.59723145.2029
|Harmonic832.82051..
------------------------------------------------------------------------
Missingvaluesinconfidenceinterval(s)forharmonicmeanindicate
thatconfidenceintervalisundefinedforcorrespondingvariable(s).
ConsultReferenceManualfordetails.
例2-75名成年男子的体重(kg)为60,70,75,80,90,求中位数。
例2-8某医生测定了6名正常成年男子的空腹血清胰岛素样生长因子-1(IGF-1F)水平为150,170,185,245,265,280,求中位数。
注:
这两个例子用软件算实在是浪费,可以用sux,detail来处理。
对于summary,加上detail后可以输出百分位数,其中的P50就是中位数。
x
-------------------------------------------------------------
PercentilesSmallest
1%6060
5%6070
10%6075Obs5
25%7080SumofWgt.5
50%75Mean75
LargestStd.Dev.11.18034
75%8070
90%9075Variance125
95%9080Skewness0
99%9090Kurtosis2.05
例2-98名7岁男孩的身高(cm)分别为116,118,119,120,121,123,125,126。
请计算这8名7岁男孩身高的第25百分位数和第90百分位数。
Stata数据为:
x
116
118
119
120
121
123
125
126
Stata命令为:
sux,d
结果为:
x
-------------------------------------------------------------
PercentilesSmallest
1%116116
5%116118
10%116119Obs8
25%118.5120SumofWgt.8
50%120.5Mean121
LargestStd.Dev.3.464102
75%124121
90%126123Variance12
95%126125Skewness.13226
99%126126Kurtosis1.836735
第25百分位数和第90百分位数分别是118.5和126。
例2-10分别依据例2-1中身高的原始资料和频数表(表2-3)资料计算标准差。
Stata命令为:
sux
结果为:
Variable|ObsMeanStd.Dev.MinMax
-------------+--------------------------------------------------------
x|120171.60254.690084160.1184.8
标准差为4.69。