Sas 缺少缺少/未缺少值的表格报告
我有一个数据集,其中有许多记录(其中的内容是无关的),每个记录的末尾都有一系列标志变量。大概是这样的:Sas 缺少缺少/未缺少值的表格报告,sas,Sas,我有一个数据集,其中有许多记录(其中的内容是无关的),每个记录的末尾都有一系列标志变量。大概是这样的: Record ID Flag 1 Flag 2 Flag 3 1 Y 2 Y Y 3 4 5 6 Y Y proc freq data=Work.Records noprint; tables Flag1 /out=Work.Temp; run; 我想创建一个打印的
Record ID Flag 1 Flag 2 Flag 3
1 Y
2 Y Y
3
4
5
6 Y Y
proc freq data=Work.Records noprint;
tables Flag1 /out=Work.Temp;
run;
我想创建一个打印的报告(或者,理想情况下,我可以打印一个数据集),该报告的外观如下所示:
Variable N % Not Missing
Flag 1 6 33.33333
Flag 2 6 33.33333
Flag 3 6 16.66666
使用Proc Freq,我可以一次完成一个变量的目标,如下所示:
Record ID Flag 1 Flag 2 Flag 3
1 Y
2 Y Y
3
4
5
6 Y Y
proc freq data=Work.Records noprint;
tables Flag1 /out=Work.Temp;
run;
我想我可以很容易地编写一个宏来循环每个变量,并将结果连接到一个数据集中。。。但这似乎太复杂了。必须有一个内置的SAS程序,但我找不到它
有什么想法吗
谢谢 欢迎来到Proc表格的精彩世界
PROC tablate
是当PROC FREQ
无法剪切时使用的程序。它的工作原理类似于PROC FREQ
,因为它有table语句,但除此之外,它几乎是靠类固醇
data test;
input RecordID (Flag1 Flag2 Flag3) ($);
datalines;
1 Y . .
2 . Y Y
3 . . .
4 . . .
5 . . .
6 . Y Y
;;;;
run;
proc tabulate data=test;
class flag1-flag3/missing;
tables (flag1-flag3),colpctn; *things that generate rows,things that generate columns;
run;
不幸的是,不使用一些高级样式的技巧来隐藏空白行是不容易的,但是如果你不介意看到这两行的话,这很好。 欢迎来到Proc表格的精彩世界
PROC tablate
是当PROC FREQ
无法剪切时使用的程序。它的工作原理类似于PROC FREQ
,因为它有table语句,但除此之外,它几乎是靠类固醇
data test;
input RecordID (Flag1 Flag2 Flag3) ($);
datalines;
1 Y . .
2 . Y Y
3 . . .
4 . . .
5 . . .
6 . Y Y
;;;;
run;
proc tabulate data=test;
class flag1-flag3/missing;
tables (flag1-flag3),colpctn; *things that generate rows,things that generate columns;
run;
不幸的是,不使用一些高级样式的技巧来隐藏空白行是不容易的,但是如果你不介意看到这两行的话,这很好。