统计211

标题: SAS与多选题分析 [打印本页]

作者: 275932488    时间: 2011-7-1 13:45
标题: SAS与多选题分析
  多选题分析常常需要计算响应百分比,比如每一病人有多个诊断编码,而不同编码又分别位  于三个变量中,因此,若直接使用SAS 的FREQ 过程,则需将X1 、X2 、X3 三个表格中的各种诊断编码频数相加,方能得到各种诊断编码的人数。当病人数增加,诊断编码变多时,这种方法就较为繁琐且容易出错。如果我们在不重新输入原始数据的条件下,将每一病人的诊断1 、诊断2 、诊断3三个变量合并为一个变量,即将表3的数据结构转变成表4 的形式,则使这一问题的解决变得十分简单。
  表3 3 例病人的诊断编码
  病人编号
  诊断1
  诊断2
  诊断3
  ID
  X1
  X2
  X3
  1
  3
  4
  .
  2
  1
  3
  7
  3
  5
  1
  .
  表4 表3 数据结构的变化
  病人编号(ID)
  诊断( X)
  1
  3
  1
  4
  2
  1
  2
  3
  2
  7
  3
  5
  3
  1
  实现程序如下:
  Data dig;
  Input id x1 x2 x3;
  Datalines;
  1 3 4 .
  2 1 3 7
  3 5 1 .
  ;
  Data dig1;
  Set dig;
  Array d[*] x1-x3;
  Do i=1 to 3;
  X=d;
  If d ne . then output;
  Drop x1-x3 i;
  End;
  Proc freq;
  Tables x;
  Run;





欢迎光临 统计211 (http://www.tj211.com/) Powered by Discuz! X3.2