摘要: 在实际应用中,我们经常会把宽数据(一个患者一条观测)转化为长数据(一个患者多条观测)或者将长数据(一个患者多条观测)转换为宽数据(一个患者一条观测),在R中我们可以利用Reshape2包来实现。在SAS中有两种实现方法:数组和TRANSPOSE。这一篇博文先讲解利用数组重构SAS数据,下一篇博文将介绍利用TRANSPOSE函数重构SAS数据。 1.宽数据变长数据 ***创建数据集 DATA DI... 阅读全文
posted @ 2017-07-27 11:00 zzwhu 阅读(1887) 评论(0) 推荐(0) 编辑
摘要: 参考资料:《Longitudinal Data and SAS: A Programmer's Guide》 阅读全文
posted @ 2017-07-26 16:35 zzwhu 阅读(655) 评论(0) 推荐(0) 编辑
摘要: PROC MEANS和PRC FREQ在做描述性分析的时候很常用,用法也比较简单,不过这两个过程步的某些选项容易忘记,本文就梳理一下。 在进入正文前,我们先创建所需的数据集TEST_SCORES: DATA TEST_SCORES; INPUT COUNTY : $9. SCHOOL & $21. TEACHER : $8. MATH SCIENCE ENGLISH; DATALINES; HUN... 阅读全文
posted @ 2017-07-25 10:58 zzwhu 阅读(7383) 评论(0) 推荐(0) 编辑
摘要: 考虑这样一种场景:我们有一份患者入院检查的数据,我们知道一个患者有可能会多次去医院做检查,每次检查的结果可能为阳性,也可能为阴性。我们现在关注的是某一个患者在若干次检查中是否出现了阳性结果,在R中我们可以使用any函数,在python中可以利用pandas的groupby函数,在SAS中该如何处理呢?今天就立一个flag来解决它。 1. ***创建数据 DATA LAB; INPUT PA... 阅读全文
posted @ 2017-07-25 09:58 zzwhu 阅读(1605) 评论(0) 推荐(0) 编辑
摘要: FIRST.和LAST.临时变量是SAS很有特色的一点,我在R和Python中暂时没有发现类似的功能(也许它们也有这个功能,我不知道而已)。考虑这样一种场景:我们有患者就诊的数据,每一条观测对应一个患者的一次就诊记录,我们知道一个患者可能会多次就医,那么如何找到这个患者第一次就医时间以及最有一次就医时间呢?又或者我们如何确定一个患者是不是因为同一个疾病多次入院。这篇博文将详细介绍如何利用FIRST... 阅读全文
posted @ 2017-07-24 17:23 zzwhu 阅读(21991) 评论(0) 推荐(0) 编辑
摘要: 在实际的应用中,我们会想查看当前观测的上一个观测值,在上一篇博客中我们使用了RETAIN语句来记录上一条观测,其实SAS还提供了一个很好用的函数LAG。当我们使用函数时,一定要明确该函数的返回值是什么。之前我一直认为LAG就是滞后一阶,返回当前观测的上一个值,实际上这种理解是错误的。 LAG返回的是 阅读全文
posted @ 2017-07-24 16:11 zzwhu 阅读(28219) 评论(0) 推荐(2) 编辑
摘要: 在上一篇博客里我们讲解了在python里运用pandas对数据进行分组,这篇博客将接着讲解对分组后的数据进行聚合。1.python 中经过优化的groupy方法先读入本文要使用的数据集tips.csvtips=pd.read_csv('tips.csv')tips.head() 阅读全文
posted @ 2017-07-23 17:44 zzwhu 阅读(1015) 评论(0) 推荐(0) 编辑
摘要: 本文重点: 使用RETIAN,INPUT在每次循环执行时保留上一次PDV中的变量值。 SUM语句和SET语句会自动RETAIN变量。 1. RETAIN语句 1.1 Example 1 先来看看在DATA步不使用和使用RETAIN语句的差异 没有使用RETAIN: 使用RETAIN: 注意比较两段代 阅读全文
posted @ 2017-07-22 22:53 zzwhu 阅读(27477) 评论(0) 推荐(0) 编辑
摘要: 其实我是不喜欢SAS的。当然,我不喜欢她,并不代表她不好,实际上在某些应用场景下SAS是款很优秀的软件。我的数据分析之路始于R,品尝过R的灵活与简洁(不论是软件安装还是语法)后,再来学习SAS,的确提不起兴致。然而由于:1.导师的项目数据量较大(几Gb到几十Gb);2.之前的项目代码师兄已经用SAS 阅读全文
posted @ 2017-07-22 16:43 zzwhu 阅读(4433) 评论(0) 推荐(0) 编辑
摘要: 前言 Python的pandas包提供的数据聚合与分组运算功能很强大,也很灵活。《Python for Data Analysis》这本书第9章详细的介绍了这方面的用法,但是有些细节不常用就容易忘记,遂打算把书中这部分内容总结在博客里,以便复习查看。根据书中的章节,这部分知识包括以下四部分: 1.G 阅读全文
posted @ 2017-07-21 20:42 zzwhu 阅读(58218) 评论(0) 推荐(6) 编辑