统计211

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3669|回复: 0
打印 上一主题 下一主题

SAS常用数据类型及适用的统计图概述

[复制链接]
跳转到指定楼层
1
发表于 2011-7-1 13:15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       展示各种与数据相关联的图形是统计中呈现数据的重要方法,当数据经过审核、筛选、排序等预处理后,可以把它做成统计图。统计图一般是用点、线、面或立体图像鲜明地表达数量或变化动态。医学统计中常用的统计图有线图、直方图、条形图和统计地图等。一个好的统计图能够把数据在图中清楚、准确、有效地表达出来。统计软件SAS可以帮助我们把存贮在SAS数据集中的数据以图形的方式形象直观地显示出来。
  但是绘制和应用统计图也是有一定的原则和要求的,违背这些原则和要求的统计图是不规范的,有时会给读者造成完全错误的印象。对于不同类型的数据,所适用的统计图和SAS程序也是不同的。
  常用数据类型及适用的统计图
  数据类型 分类 例 统计图
  品质数据 定类数据 心血管病的死亡原因 条形图;饼图
  定序数据 碳氧血红蛋白的含量 累积分布图
  数值型数据 分组数据 食物中毒患者的潜伏期 折线图
  未分组数据 110名男大学生身高 直方图;茎叶图;箱线图;散点图
  时间序列数据 10年某小学的麻疹曾患率(%) 间隔图形
  地域性数据 某省痢疾流行时的患者分布 统计地图
  定类数据-条形图
  条形图是用宽度相同的条形的高度或长短来表示数据变动的图形。一般用条形图的高度来表示各类别数据的频数。它常用于两个或多个组某指标大小的比较。
  条形图的类型一般有三种:
  简单条形图,用于表现单个指标的大小;
  分组条形图,用于表现两个或多个指标,比如同时进行男、女性血红细胞和血红蛋白值的比较;
  分段条形图,用于表现每个直条中某个因素各水平的构成情况,比如男女两种性别的某指标构成的比较。
  1) 简单条形图
  例1 某地1980年居民心血管病死亡资料[1]。关注的指标是死亡率的性比。
  死亡原因 男 女 死亡率性比
  死亡死亡率 构成比 死亡死亡率 构成比
  肺心病 13952 101.9 76.2 19369 146.8 76.5 0.69
  风心病 1336 9.8 7.3 2265 17.2 8.9 0.57
  高血压性心脏病 926 6.8 5.1 1264 9.6 5.0 0.71
  冠心病 654 4.8 3.6 862 6.5 3.4 0.74
  先心病 516 3.8 2.8 479 3.6 1.9 1.06
  克山病 316 2.3 1.7 359 2.7 1.4 0.85
  其它心血管病 611 4.5 3.3 736 5.6 2.9 0.80
  合计 18311 133.7 100.0 25334 192.0 100.0 0.70
  SAS程序如下:
  引用:
  data ratio;
  input case$ ratio@@;
  cards;
  a1 0.69 a2 0.57 a3 0.71
  a4 0.74 a5 1.06 a6 0.85
  a7 0.80
  ;
  goptions reset=all ;
  proc format;
  value $ss a1='肺心病' a2='风心病' a3='高血压' a4='冠心病' a5='先心病'
  a6='克山病' a7='其它';
  proc gchart;
  vbar case/sumvar=ratio;
  format case $ss.;
  pattern v=x5 c=gray;
  run;
  2) 分组条形图
  例2 同例1数据,关注的指标是男、女性死亡率的比较。
  SAS程序如下:
  引用:
  data ratio;
  input case$ gender$ ratio@@;
  cards;
  a1 m 101.9 a1 f 146.8
  a2 m 9.8 a2 f 17.2
  a3 m 6.8 a3 f 9.6
  a4 m 4.8 a4 f 6.5
  a5 m 3.8 a5 f 3.6
  a6 m 2.3 a6 f 2.7
  a7 m 4.5 a7 f 5.6
  ;
  goptions reset=all ;
  proc format;
  value $ss a1='肺心病' a2='风心病' a3='高血压' a4='冠心病' a5='先心病'
  a6='克山病' a7='其它';
  value $qq f='男性' m='女性';
  proc gchart;
  where gender in ('m', 'f');
  vbar gender/group=case sumvar=ratio patternid=midpoint;
  format case $ss. gender $qq.;
  pattern1 v=l5 c=gray; pattern2 v=x5 c=gray;
  run;
  3) 分段条形图
  引入一个分段变量,此变量必须是离散的,按此变量取值的个数把每一个条形分为几段,每一段的长度代表此变量的一个取值对应的观测对要考察的统计量的贡献。
  例3 同例1数据,关注的指标是构成男女两种性别的死亡率比较。
  SAS程序如下:
  引用:
  data ratio;
  input case$ gender$ ratio@@;
  cards;
  a1 m 101.9 a1 f 146.8 a2 m 9.8
  a2 f 17.2 a3 m 6.8 a3 f 9.6
  a4 m 4.8 a4 f 6.5 a5 m 3.8
  a5 f 3.6 a6 m 2.3 a6 f 2.7
  a7 m 4.5 a7 f 5.6
  ;
  goptions reset=all ;
  proc format;
  value $ss a1='肺心病' a2='风心病'
  a3='高血压' a4='冠心病' a5='先心病'
  a6='克山病' a7='其它'; value $qq f='男性' m='女性';
  proc gchart;
  where gender in ('m', 'f'); vbar case/subgroup=gender sumvar=ratio;
  format case $ss. gender $qq.;
  pattern1 v=x2 c=gray; pattern2 v=s c=gray;
  run;
  定类数据-饼图
  饼图通常用来表示数据的部分与整体之间的比例关系。其中,整个圆的面积表示整体,各部分面积的大小对应于所占构成比的大小。
  饼图一般有单一饼图和分组饼图两种。
  1) 单一饼图
  例4 某市1980年和1990年5种传染病发病情况。关注的指标是1980年各种传染病所占的比例。
  疾病 1980年 1990年
  病例数 构成比(%) 病例数 构成比(%)
  痢疾 3604 49.39 2032 37.92
  肝炎 1203 16.49 1143 21.33
  流脑 698 9.56 542 10.11
  麻疹 890 12.20 767 14.31
  腮腺炎 902 12.36 875 16.33
  合计 7297 100.00 5359 100.00
  SAS程序如下:
  引用:
  data per;
  input case$ per@@;
  cards;
  a1 49.39 a2 16.49 a3 9.56 a4 12.20 a5 12.36
  ;
  goptions reset=all ;
  proc format;
  value $ss a1='痢疾' a2='肝炎' a3='流脑' a4='麻疹' a5='腮腺炎';
  proc gchart;
  pie case/sumvar=per;
  pattern1 v=ps c=gray; pattern2 v=p2x c=gray; pattern3 v=pe c=gray;
  pattern4 v=p2x135 c=gray; pattern5 v=p2n60 c=gray;
  format case $ss.;
  run;
  2) 分组饼图
  例5 同例4数据,关注的指标是1980年、1990年各种传染病所占的比例。
  SAS程序如下:
  引用:
  data per;
  input case$ year per@@;
  cards;
  a1 1980 49.39 a1 1990 37.92
  a2 1980 16.49 a2 1990 21.33
  a3 1980 9.56 a3 1990 10.11
  a4 1980 12.20 a4 1990 14.31
  a5 1980 12.36 a5 1990 16.33
  ;
  goptions reset=all ;
  proc format;
  value $ss a1='痢疾' a2='肝炎' a3='流脑' a4='麻疹' a5='腮腺炎';
  proc gchart;
  pie case/sumvar=per group=year across=2;
  pattern1 v=ps c=gray; pattern2 v=p2x c=gray; pattern3 v=pe c=gray;
  pattern4 v=p2x135 c=gray; pattern5 v=p2n60 c=gray; format case $ss.;
  run;
  定序数据-累积分布图
  累积分布图就是根据累积频数或累积频率,绘制的累积频数分布。
  例6 某医师为研究早产、足月产及过期产者在产后一个月内泌乳量的差别,收集了如下资料:
  乳量 早产 足月产 过期产 合计
  无 30 132 10 172
  少 36 292 14 342
  多 31 414 34 479
  合计 97 838 58 993
  关注的指标是足月产者中乳量的累计分布。
  SAS程序如下:
  引用:
  data a;
  input K @@;
  do i=1 to K;
  input n@@;
  do j=1 to n; value=i; output; end;
  end;
  drop K i n;
  cards;
  3 132 292 414
  ;
  proc format; value tt 1='乳量无' 2='乳量少' 3='乳量多' ;
  proc gchart;
  vbar value/type=cpct cpct discrete;
  format value tt.; pattern v=x5 c=gray;
  run;
  分组数据-折线图
  折线图也称频数多边形图,它是在直方图的基础上,把直方图顶部中点用直线连接起来,再把原来的直方图去掉。
  当我们对数据所分的组数很多时,组距会越来越小,这时所绘制度折线图就会越来越光滑,逐渐形成一条光滑的曲线,这就是频数分布曲线。
  折线图的类型有单折线图和多重折线图两种。折线图和条形图很类似,简单条形图对应于单折线图,分组条形图类似于多重折线图。
  1) 单折线图
  例7 数据同例1,关注的指标是死亡率的性比。
  SAS程序:
  引用:
  data ratio;
  input case$ ratio@@;
  cards;
  a1 0.69 a2 0.57 a3 0.71 a4 0.74 a5 1.06 a6 0.85 a7 0.80
  ;
  goptions reset=all ;
  proc format;
  value $ss a1='肺心病' a2='风心病' a3='高血压' a4='冠心病' a5='先心病' a6='克山病' a7='其它';
  proc gplot;
  plot ratio*case; format case $ss.; symbol v=star i=join c=gray;
  run;
  2) 多重折线图
  例8 数据同例1,关注的指标是男、女性死亡率的比较。
  SAS程序:
  引用:
  data ratio;
  input case$ mratio fratio@@;
  cards;
  a1 101.9 146.8 a2 9.8 17.2
  a3 6.8 9.6 a4 4.8 6.5
  a5 3.8 3.6 a6 2.3 2.7
  a7 4.5 5.6
  ;
  goptions reset=all ;
  proc format;
  value $ss a1='肺心病' a2='风心病' a3='高血压' a4='冠心病' a5='先心病'
  a6='克山病' a7='其它';
  proc gplot;
  plot mratio*case=1 fratio*case=2 /overlay; format case $ss.;
  symbol1 v=plus i=join c=black h=2; symbol2 v=square i=join c=gray line=2 w=4;
  run;
  
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


免责声明|关于我们|小黑屋|联系我们|赞助我们|统计211 ( 闽ICP备09019626号  

GMT+8, 2025-4-19 20:59 , Processed in 0.075421 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表