SAS-免费的描述性统计程序自动化创建

2020-09-10 17:52:54 浏览数 (1)

如题,今天小编要分享的内容是如何自动化创建描述性统计分析的SAS程序。关于描述性统计分析相关内容一般可编写一个宏程序,通过填写变量与相应的参数来快速生成分析表格的结果。如果这样宏程序需要写的很完善,那么就是一个非常大型嵌套宏。由于最新的指导原则要求不能调用外部宏和嵌套宏,为了提高工作效率、减少错误率等,于是本文诞生了。

原理

以前是直接调用宏程序生成结果,现在可以通过调用宏程序直接生成不含外部宏、大型宏及嵌套宏的SAS代码,通过运行SAS代码再来生成结果。当然,你也可能没有用宏去做表,都是用分析过程步,对于这种情况,小编建议你可以借鉴本文编写适用于自己的宏程序,避免重复工作。(程序下载链接在文末)

宏参数

下面来看看小编的宏参数。宏程序内置多种参数检验方法(t检验、方差检验、wilcoxon检验、Kruskal-Wallis检验、卡方检验、校正卡方检验、Fisher检验、CMH卡方检验等),基本满足常规定量、定性资料检验。

代码语言:javascript复制
/*create analys program
 * ========================================================================================================================================
 *
 *               文件名:  sasanalys.sas
 *
 *             程序说明: 连续变量分析程序自动创建子程序

            整体思路/原理:

            根据输入参数,自动生成分析程序用于提交

            %sasanalys(programname=,tablename=,inds=,group=,minds=,varlist=,type=1,subjid=subjid,siteid=siteid,alpha=0.05,outfile=);

            programname    :  生成程序路径 名称
            tablename    :  表格名称
            inds      :  数据集名称
            group      :  组别 group|试验组对照组
            minds      :  主数据集 可填筛选条件(总人群数据集(数据集|筛选该数据观测):adam.ads|fas=1)
            varlist      :  分析变量
                      变量标签|变量标签  分类变量需列选项值  HEI0101身高(M)|NATION民族(%)1=汉/2=其他
                      分析变量标签、1(定量资料:0:不输出95%可信区间,1:输出95%可信区间)检验是否配对检验
                      分析变量标签1=是/2=否(定性资料)检验是否配对检验
                      检验类型说明:
                        *1*独立样本T检验;(自动选择是T检验还是Satterthwaite T'检验)
                        *2*方差检验;
                        *3*秩和检验*2组秩和检验采用wilcoxon
                        *4*>2组时采用Kruskal-Wallis ;

                        *6*卡方
                        *7*校正卡方
                        *8*精确检验
                        *9.1*CMH卡方(双向有序)
                        *9.2*CMH卡方(单向有序)
                        *9.3*CMH卡方(均为无序)
            type      :  输出类型(0/1)
            subjid      :  受试者唯一编号
            siteid      :  中心号
            alpha      :  alpha值
            outfile      :  文档输出路径


========================================================================================================================================
      程序说明:本程序由Setup提供维护与更新,以下是作者个人信息及联系方式

      作者:Setup
      邮箱:setup@mail.sas-pharma.com
      网站:https://www.sas-pharma.com
      微信号:gongnxc
      微信公众号:SAS程序分享号号号(xiaocgn)

 * ========================================================================================================================================
 */

宏程序调用

下面来看看宏调用示例。

代码语言:javascript复制
%sasanalys(programname=&runsetupm.pgm双组_1_4.sas
      ,tablename=表1.1 人口学资料
      ,inds=adam.adsl_2,group=ARM|试验组对照组,minds=adam.adsl_2
      ,varlist=HEIGHT身高(M)|WEIGHT体重(KG)|AGE年龄(岁)|SEX性别1=男/2=女,type=1
      ,outfile=&runsetupm.output双组-描述性统计分析-定量-表格类型2.rtf
      ,subjid=subjid
      ,siteid=siteid
      ,alpha=0.05);

这里小编仅列举一个调用示例,更多示例,请前往小编的网站查看或下载。

下载

下载链接(复制到浏览器地址栏即可下载):

http://www.sas-pharma.com/sas-pharma/pgmModel/程序模块/描述性统计/src/sasanalys.zip

更多详细示例及讲解:

http://www.sas-pharma.com/sas-pharma/pgmModel/

点击文章底部“在看”后,再点击“阅读原文”即可下载本文所有代码与数据,或前往https://www.sas-pharma.com/sas-pharma/pgmModel/如下图位置进行查看更多示例及下载。

补充说明

本文主要提供一种提高编程效率的思路(基于本文思路,可以开发更多统计编程中的宏工具),使用小编的宏程序同时会自动生成report过程步,如果对格式有极高的要求,可对report过程步进行修改。下载的压缩包/小编提供的示例仅为展现程序效果。本文宏使用的环境是SAS9.4(简体中文),如果其他环境下需要使用,也可邮箱/微信联系我。

联系方式

邮箱:setup@mail.sas-pharma.com

网站:https://www.sas-pharma.com/

0 人点赞