第二章统计描述的 Stata实现 本章主要用到的 Stata主要命令* 描述性统计: summary变量名 [weight=] detail 频数表 tabulate变量名[ weight=] 计算均数: means变量名[ weight=] 频数分布图: histogram变量名, bino start * Stata的命令可以用前几个字母代替,如 summary可以由su代替, tabulate 可以由tab代替。下面就直接用缩写,不再赘述。 例2-1某市1982年调查120名20岁男子的身高(cm)资料如下,试编制 频数表和频数图。 1644169.2174.7175.0165.01628170.2160.1170.9170.1 175.5170.3172.3168.2166.7171.7166.81716165.2172.0 1717168.81718174.5171.7172.7166.3174.0169.0174.5 171.8174.9180.0173.5178.11697176.l181.3173.8164.7 172.2172.8178.6172.0182.5172.0173.5166.3176.11692 176.41684171.0169.1166.9181.1170.4165.2168.01724 164.3166.9176.41642177.2168.3177.8173.01674173.2 1699172.1170.4174.8172.11644170.5165.0172.8166.8 175.8171.11748172.71694178.2174.11772170.0172.7 168.31771172.5166.317511744162.317.31770163.5 168.81776175.21715172.51791172.6184.8168.3182.8 170.3167.5171217041669178.5164.11695173.4170.3 数据格式如下 164.4 175.5 171 l71 5[172 6 176.4 164.3
第二章 统计描述的 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
175 838 170.3 345 169.2 170.3 168.8 16[1749 172 18 168 19 849 201721 171.1 177.1 23 1776 241675 174 172.3 22223 171.8 178.6 1764 170.4 33 174.8 1752 17 37 38 252 17: 174.5 40 173.5 172 42 169.1 164 174.8 172.7 166.3 471715 165 166.7 51171.7
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
182 1772 56 172 21 57 1694 175 172.5 166.9 61 162.8 171 1697 65 172 6 18l.1 168 164 1782 1744 179 72 178 74 166.8 75 166.3 76 176.1 173.5 1704 79 177 8 80 70.5 174. 1623 83 1726 164 85 160. 171.6 1813 166.3 90 165 1772 941713
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
184.8 170.9 165.2 99 169 100 101 103 1674 104 172.8 10 107 168.3 108 173.4 10 170.1 110 I17451 11 164.7 113 169.2 1724 173 166.8 117 172.7 118 163.5 119 182.8 为制作频数表,键入 Stata命令: genf=int((x-160)/2)*2+160 产生用以作频数表的新变量“f” 对变量“f”作频数表 “gen”命令产生新变量“f”,将各观察值转换成相应该组的下限值。int 为取整函数,结果为括号内函数值的整数部分,如int(3.24)=3。“160”为第 组的下限,“2”为组距。以第一例观察值160.1cm为例, f=int((160.1-160)/2)*2+160=160,则它应归入“160~”组 结果如下 Percent 0.83 10 11.67
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 命令: .gen f=int((x-160)/2)*2+160 产生用以作频数表的新变量“f” .tab f 对变量“f”作频数表 “gen”命令产生新变量“f”,将各观察值转换成相应该组的下限值。 int 为取整函数,结果为括号内函数值的整数部分,如 int(3.24)=3。“160”为第 一 组 的 下 限 , “ 2 ” 为 组 距 。 以 第 一 例 观 察 值 160.1cm 为例, f=int((160.1-160)/2)*2+160=160,则它应归入“160~”组。 结果如下: f | Freq. Percent Cum. ------------+----------------------------------- 160 | 1 0.83 0.83 162 | 3 2.50 3.33 164 | 10 8.33 11.67
9.17 20.83 16 13.33 34.17 178 532 2.50 97.50 99.17 100.00 Total I 120 hist f, start(160) width(2) 作频数图 结果如下 例2-2某医生测定230名正常成年男子的空腹血清胰岛素样生长因子-1 (IGF-1F)水平,整理后编制为频数分布表(表2-2),请根据该频数分布表作 频数图。 表2-2230名正常人空腹血清胰岛素样生长因子-1水平中位数的计算 IGF-IF 人数∫ 频率(%) 累计频数习f∫ 累计频率(%) (3) (5)=(4)/n 13.04 13 150~ 30.87 250~ 150
166 | 11 9.17 20.83 168 | 16 13.33 34.17 170 | 22 18.33 52.50 172 | 22 18.33 70.83 174 | 14 11.67 82.50 176 | 10 8.33 90.83 178 | 5 4.17 95.00 180 | 3 2.50 97.50 182 | 2 1.67 99.17 184 | 1 0.83 100.00 ------------+----------------------------------- Total | 120 100.00 hist f,start(160) width(2) 作频数图 结果如下: 0 .02 .04 .06 .08 .1 Density 160 165 170 175 180 185 f 例 2-2 某医生测定 230 名正常成年男子的空腹血清胰岛素样生长因子-1 (IGF-1F)水平,整理后编制为频数分布表(表 2-2),请根据该频数分布表作 频数图。 表 2-2 230 名正常人空腹血清胰岛素样生长因子-1 水平中位数的计算 IGF-1F (1) 人数 f (2) 频率(%) (3) 累计频数 f (4) 累计频率(%) (5)=(4)/ n 50~ 30 13.04 30 13.0 150~ 71 30.87 101 43.9 250~ 49 21.30 150 65.2
350~ 12.17 178 6.09 83.5 550~ 12 5.22 2.17 Stata数据格式如下: 1234 56789 tab x [weight=f 制作汇总表的频数表 在本例中,x的取值为各组的下限,而f是各组的频数,所以需要用 Stata 的频数选项[ weight=]。结果: Fr Percent 13.04 13.04 00000 12.17 77.39 55 12 650 10 4.35 93.04 3.48 2.17 1.30 100.00 Total I 100.00 hist x [weight=f], start(50)width(100) 制作频数图
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 tab x [weight=f] 制作汇总表的频数表 在本例中,x 的取值为各组的下限,而 f 是各组的频数,所以需要用 Stata 的频数选项[weight=]。结果: x | Freq. Percent Cum. ------------+----------------------------------- 50 | 30 13.04 13.04 150 | 71 30.87 43.91 250 | 49 21.30 65.22 350 | 28 12.17 77.39 450 | 14 6.09 83.48 550 | 12 5.22 88.70 650 | 10 4.35 93.04 750 | 8 3.48 96.52 850 | 5 2.17 98.70 950 | 3 1.30 100.00 ------------+----------------------------------- Total | 230 100.00 hist x [weight=f],start(50) width(100) 制作频数图 f
0 600 1000 例2-3随机测量某地10名20~30岁健康男性居民血清铁含量(Am), 测量值分别为6.58,7.42,15.32,15.78,17.60,17.98,15.21,17.53,20.11, 22.64,试求其平均血清铁含量 Stata数据为 16.58 315.32 41578 517.6 617.98 71521 81753 20.11 2.64 计算均数标准差 结果: Variable I Obs Mean Std. Dev Min Ma 15.6175.075254 6.58 22.64
0 .001 .002 .003 Density 0 200 400 600 800 1000 x 例 2-3 随机测量某地 10 名 20~30 岁健康男性居民血清铁含量( mol / L ), 测量值分别为 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 su x 计算均数标准差 结果: Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- x | 10 15.617 5.075254 6.58 22.64
所以平均平均血清铁含量为15.617 例2-4计算例2-1的频数表(表2-3)中120名男子的平均身高 显然,如果用 Stata,对于例2-1的资料不需要事先转化为频数表,然后再 计算均数。不妨用例2-2作为例子展示 Stata计算频数表资料的均数。 SU X Lweight=f 计算频数表资料的均数 结果: Variable Weight Mean Std. Dev Min X 10 290223.4123 50 例2-58名麻疹易感儿接种麻疹疫苗3周后,其血凝抑制抗体滴度分别为 1:4,1:8,1:16,1:32,1:64,1:128,1:256,1:512。试求其平均抗体滴度 数据格式 12345 678 256 512 gen log=log(x) su log 计算自然对数的均数,得到3.81231 disp exp ( 3. 81231) 计算均数的反对数,即指数得到几何均数为45254857 另外, Stata还有一个直接计算几何均数的命令: 结果为: Variable Obs Mean [95% Conf. Interval] x Arithmetic 127.5 20.53203275.532 845.25483 10.94481187.1206 Harmonic 816.06275
所以平均平均血清铁含量为 15.617。 例 2-4 计算例 2-1 的频数表(表 2-3)中 120 名男子的平均身高 显然,如果用 Stata,对于例 2-1 的资料不需要事先转化为频数表,然后再 计算均数。不妨用例 2-2 作为例子展示 Stata 计算频数表资料的均数。 su x [weight=f] 计算频数表资料的均数 结果: Variable | Obs Weight Mean Std. Dev. Min Max -------------+----------------------------------------------------------------- x | 10 230 290 223.4123 50 950 例 2-5 8 名麻疹易感儿接种麻疹疫苗 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 gen logx=log(x) 计算 x 的自然对数 su logx 计算自然对数的均数,得到 3.81231 disp exp(3.81231) 计算均数的反对数,即指数得到几何均数为 45.254857 另外,Stata 还有一个直接计算几何均数的命令: means x 结果为: Variable | Type Obs Mean [95% Conf. Interval] -------------+---------------------------------------------------------- x | Arithmetic 8 127.5 -20.53203 275.532 | Geometric 8 45.25483 10.94481 187.1206 | Harmonic 8 16.06275 . . ------------------------------------------------------------------------
Missing values in confidence interval(s) for harmonic mean indicate that confidence interval is undefined for corresponding variable(s) Consult Reference Manual for details Means命令计算算术均数、几何均数以及调和均数,其中几何均数为 45.25483,和前面的结果相同。 例2-6某地区50名麻疹易感儿童接种麻疹疫苗3周后,测其血凝抑制抗 体滴度,如表2-4中第(1)栏和第(2)栏,求平均抗体滴度。 表2-450名麻疹易感儿童平均抗体滴度计算表 抗体滴度 人数f 滴度倒数X lg X fIg x 1-4 4 0.6021 7.2246 1:32 10 1.5051 150510 l:64 16 28.8992 16.8576 1:256 12.0410 879003 数据如下 12345 16 678 06852 512 en log=log(x) 计算x的自然对数 u log( weight=f)|计算自然对数的均数,得到4.04798 disp exp (4. 04798 计算均数的反对数,即指数得到几何均数为57.281631 也可以用 ans x [weight=f 结果: (analytic weights assumed)
Missing values in confidence interval(s) for harmonic mean indicate that confidence interval is undefined for corresponding variable(s). Consult Reference Manual for details. Means 命令计算算术均数、几何均数以及调和均数,其中几何均数为 45.25483,和前面的结果相同。 例 2-6 某地区 50 名麻疹易感儿童接种麻疹疫苗 3 周后,测其血凝抑制抗 体滴度,如表 2-4 中第(1)栏和第(2)栏,求平均抗体滴度。 表 2-4 50 名麻疹易感儿童平均抗体滴度计算表 抗体滴度 (1) 人数 f (2) 滴度倒数 X (3) lg X (4) f lg X (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 gen logx=log(x) 计算 x 的自然对数 su logx 〔weight=f〕 计算自然对数的均数,得到 4.04798 disp exp(4.04798) 计算均数的反对数,即指数得到几何均数为 57.281631 也可以用 means x [weight=f] 结果: (analytic weights assumed)
Variable T Mea [95% Conf. Interval rithmetic -2.30755193.8275 Geometric 57.2816 22.59723145.202 hArmonic 832.82051 Missing values in confidence interval(s) for harmonic mean indicate that confi dence interval is undefined for corresponding variable(s) Consult Reference Manual for details 例2-75名成年男子的体重(kg)为60,70,75,80,90,求中位数。 例2-8某医生测定了6名正常成年男子的空腹血清胰岛素样生长因子-1 (IGF-1F)水平为150,170,185,245,265,280,求中位数。 注:这两个例子用软件算实在是浪费,可以用Bux, detail来处理。对于 summary,加上 detail后可以输出百分位数,其中的P50就是中位数。 Percentiles Smallest 10% Obs 25% Sum of wgt 50% Mean Std. Dey 11.18034 Variance 95% Skewness 0 99% Kurto 例2-98名7岁男孩的身高(cm)分别为116,118,119,120,121,123, 125,126。请计算这8名7岁男孩身高的第25百分位数和第90百分位数 Stata数据为 116
Variable | Type Obs Mean [95% Conf. Interval] -------------+---------------------------------------------------------- x | Arithmetic 8 95.76 -2.30755 193.8275 | Geometric 8 57.2816 22.59723 145.2029 | Harmonic 8 32.82051 . . ------------------------------------------------------------------------ Missing values in confidence interval(s) for harmonic mean indicate that confidence interval is undefined for corresponding variable(s). Consult Reference Manual for details. 例 2-7 5 名成年男子的体重(kg)为 60,70,75,80, 90,求中位数。 例 2-8 某医生测定了 6 名正常成年男子的空腹血清胰岛素样生长因子-1 (IGF- 1F)水平为 150,170,185,245,265,280,求中位数。 注:这两个例子用软件算实在是浪费,可以用 su x,detail 来处理。对于 summary,加上 detail 后可以输出百分位数,其中的 P50 就是中位数。 x ------------------------------------------------------------- Percentiles Smallest 1% 60 60 5% 60 70 10% 60 75 Obs 5 25% 70 80 Sum of Wgt. 5 50% 75 Mean 75 Largest Std. Dev. 11.18034 75% 80 70 90% 90 75 Variance 125 95% 90 80 Skewness 0 99% 90 90 Kurtosis 2.05 例 2-9 8 名 7 岁男孩的身高(cm)分别为 116,118,119,120,121,123, 125,126。请计算这 8 名 7 岁男孩身高的第 25 百分位数和第 90 百分位数。 Stata 数据为: x 116 118 119