我有一组前置和后置分数,其值可以是1或2,例如:
邮政信箱
1 2
1 1
2 2
2 1
1 2
2 1
等
我需要创建一个列出频率的2x2表,其中百分比仅在总行/列中:
1 2 Total
1 14 60 74 / 30%
2 38 12 50 / 20%
Total 52 / 21% 72 / 29% 248
它不需要使用n和百分之间的/来专门格式化,它们可以在不同的行上。我只需要确保表中的总百分比(没有累积百分比)。
我认为我应该使用proc制表来实现这一目标,但我是SAS的新手并且无法解决这个问题。任何帮助将不胜感激。
Code I尝试过:
proc tabulate data=.bilirubin order=data;
class pre ;
var post ;
table pre , post*( n colpctsum);
run;
答案 0 :(得分:0)
您可以制作自己的报告。例如,您可以使用PROC SUMMARY来获取频率。添加数据步骤以计算百分比并生成包含要显示的文本的字符变量。然后使用PROC REPORT显示它。
proc summary data=have ;
class pre post ;
output out=summary ;
run;
proc format ;
value total .='Total (%)';
run;
data results ;
set summary ;
length display $20 ;
if _type_=0 then n=_freq_;
retain n;
if _type_ in (0,3) then display = put(_freq_,comma9.);
else display = catx(' ',put(_freq_,comma9.),cats('(',put(_freq_/n,percent8.2),')'));
run;
proc report missing data=results ;
column pre display,post n ;
define pre / group ;
define post / across ;
define n / noprint ;
define display / display ' ';
format pre post total.;
run;