许久没写公众号了,日前有人留言询问最近有无更新,于是小编就来更新了。今天小编打算给大家分享一下SAS实现交叉表的自动输出,交叉表是临床试验编程中非常常见的一种表格的类型,实现起来的程序也还是比较简单的。
交叉表
什么样的表是交叉表呢,下面小编分享几个简单的交叉表的例子。
横向
纵向
嗯,上面俩种样式的交叉表也就是今天小编要分享的主要内容。程序实现的原理大致是这样的。首先创建一个框架,也就是利用基线和疗后变量的选项值进行一个排列组合,目的是便于后面使用proc transpose进行转置时,避免结果不全。小编此处采用data Step中的do循环及output语句实现。
▲创建框架
在创建完框架数据集后,对待分析数据集进行处理,根据输入的宏变量进行自动衍生数值型组别变量,判断缺失值是否填补。
利用proc freq过程步进行计算频数,采用ods output语句将结果输出至数据集,并对数据集进行简单的处理,便于后面与前面创建的框架结构进行合并。
计算频数
采用proc sql将计算结果并入框架中,并对缺失结果经过填充,采用proc transpose语句对数据集进行转置。对转置后的数据集进行处理,最终生成如下结果。
▲并入、转换
程序到这里,其实大体就结束了,后面的内容就是在此结果下,自动处理生成想要的表格结构。