前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SAS- SOC/PT频数表自动输出

SAS- SOC/PT频数表自动输出

作者头像
Setup
发布2019-10-19 13:07:20
发布2019-10-19 13:07:20
3.4K0
举报

前面小编写了SAS-交叉表的自动输出。今天小编打算分享不良事件中常见统计分析表格的几种样式,及自动生成的SAS程序与编程思路。嗯,关于不良事件的分析,常见均是对SOC/PT的例次、例数进行分析。

不良事件频数表

下面来看看关于不良事件的常见的几种表格。

1、汇总表

2、频数表

3、各严重程度频数表

4.各严重程度频数表

嗯,上面各种样式的表格,就是小编今天要分享的内容。小编下面将主要介绍第二个截图的表格实现的过程。后面的几种表格在此基础均可以在衍生而来。计算SOC/PT发生的例次与例数,小编这里是proc sql进行计算,接着便利用proc transpose对计算得到的数据集进行数据集结构的转化,生成需要输出的排列结构,计算合计并根据合计列的例次、例数选择想要的排序方式,嗯,小编这里给添加了一个fisher检验的选择。如何实现每条观测的fisher检验,一会将在后文细细道来。

程序实现过程

嗯,直奔主题,下来看看程序实现的过程。首先来看看小编设置的宏参数。

宏参数

首先,小编是对宏参数group进行处理,获取组别变量,并提取组别名称,将其赋值给相应的宏变量。

分离组别

第二步,分离宏变量minds,提取全部人群数据集及作用在该数据集上的筛选条件,利用proc freq语句计算各分组人数,并创建全局宏变量,将对应的值赋值给相应的宏变量,便于后面的计算。

计算各组人数

接下来就是处理待分析的数据集,从数据集中提取需要分析的观测。也就是利用宏参数Cond来控制。灵活运用proc sql计算合计、各组、相应的SOC/PT的例次、例数及发生率。

核心计算过程

执行到这一步了,我们不妨来看看目前生成的数据集结构是什么样的。

此时

目标

此时不难发现,想要生成满足输出样式的数据集,还需要对数据集的结构进行转化。小编接下来是使用的proc transpose对数据集进行转置。以及为了填补缺失值,对数据集进行了一系列的transpose

转置

转置

经过一系列的转置的处理,就基本上生成想要的结构了。接下来就要对此进行优化,例如排序的控制,人们都说最好是按合计列的SOC的例次、例数、PT的例次及例数降序的方式进行排序。所以呀,小编就按照此顺序进行排的。

排序

最后呢,加入一个fisher检验,如果需要进行fisher检验的话,可以选择相应的宏参数。小编这里的Fisher检验的过程,自认还是很巧妙的。首先将所有例数变量保留(删除合计列的例数),再将其转置,并入各组总人数,计算未发生不良事件人数,最后通过proc freq进行计算P值。

写到这里就结束了。这个宏程序的作用好像也就只能输出前文中的第二张截图的中的表格,其实不然,这个程序也能生成第一个表。宏参数label放在这里也不仅仅是花瓶,还是有点作用的。

调用

结果

剩下的表格都可以在此程序的基础上进行处理生成,小编写的这个程序是一个子宏。后面的程序小编这里就不做介绍了,附上程序内部分截图~

宏参数

内部主要过程

程序

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SAS程序分享号号号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档