有时需要打印统计表来显示分类变量各种交叉中样本的个数,例如由数据集highweig作出表格,直观显示学生按性别、地区、班级的分布情况,即地区、班级和性别搭配分类后的学生人数。这样是很必要的,一方面因为如果学生数太少,个别人的身高具有偶然性,平均值不能反映相应单元中人的身高和体重;另一方面统计数据中可能有缺失数据,例如某地区男性有30人,其中2人的身高缺失,而tabulate过程是以未缺失的28人的数据作平均,输出表中却不显示该平均值是由多少人作平均的。tabulate过程完成这种任务所用的程序和例6.4相似,只是不需要var语句,table语句中不要写出mean、high及连续变量的交叉。当只列出一个分类变量时,输出一维表;当只列出两个分类变量时,输出二维表;当只列出三个分类变量时,对于第一个分类变量的每一个值,以后两个分类变量为纵轴和横轴制作一个二维表。
例6.6 由数据集highweig打印出表格,直观显示学生按性别、地区、班级的分布情况,即地区、班级和性别搭配分类后的学生人数。
解 要考虑全部三个分类变量:性别、地区和班级,需要三维表。不用var语句,table语句中不用写出和mean及high的交叉,只需要把分类变量列出,中间用逗号隔开就行。考虑到以gender的不同值分别打印两张表格的效果较好,所以在table语句中变量gender排在最前面。采用如下程序:
提交后得到结果是:
gender 1(www.xing528.com)
gender 2
可见数据集highweig中男生在4个班的分布情况是:地区1为1,3,2,2;地区2为3,2,2,2;地区3为1,2,3,0。女生在4个班的分布情况是:地区1为2,2,0;地区2为1,3,0,2;地区3为2,0,3,1。
练习题 例6.6中没有显示汇总人数,改进例6.6的程序,显示3个分类变量各种组合下的总汇人数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。