通过proc制表在SAS中设置op表

时间:2014-08-12 11:44:47

标签: sas

我有一些关于学生及其辍学程序的数据。我有他们开始教育的信息,在一个城市(一些教育在更多的城市中找到)和他们开始接受教育的那一年。我也有关于学生必须遇到的商才能开始接受教育的信息。

商数变量可以包含数值和字符值(参见表格)enter image description here

我想在SAS中创建一个表,其中我有商数和辍学%,如下图所示: enter image description here

因此,对于每个教育和每个城市,我有多年的行数和单元格,我有当年的配额和年度的辍学率。

我不能在SAS中这样做。我试过了:

proc tabulate data= sammensat  missing;
var dropout;
class  education year city quota ;
Table   education* city,year *dropout    all/ rts=180;
run;

这给了我想要的部分输出。但是我想要另一行显示每年教育和城市组合的配额。

1 个答案:

答案 0 :(得分:0)

两个问题:包括配额和处理char值。

如果是数字,则包含配额很容易。

proc tabulate data= sammensat  missing;
 class  education year city; 
 var dropout quota;
 Table   education*city*(quota dropout),year    all/ rts=180;
run;

如果它们不是相同的(并且都是N),您可能需要向它们添加统计数据;可能*对两者都意味着,不确定你的数据到底是什么样的。

要处理角色问题,您需要创建一个格式,该格式具有配额的特殊值,如果它们只是分配了值(此城市 - 年 - 教育组合根据定义没有配额),或使用值这表明没有配额(缺少,0等)。

proc format;
  value quotaf
    -1='NO QUOTA'
    -9='PASSED AUDITON'
     0-high=[3.1]
  ;
quit;

然后使用它来格式化quota,在数据集中或在proc表格中的配额上使用f=选项。