- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第23章 SAS数据集的重组目录第23章 SAS数据集的重组123.1 简介123.2 用DATA步完成转换 一个对象对应一条观测到一个对象对应多条观测123.3用DATA步完成转换 一个对象对应多条观测到一个对象对应一条观测323.4用PROC TRANSPOSE过程完成转换 一个对象对应一条观测到一个对象对应多条观测323.5用PROC TRANSPOSE过程完成转换 一个对象对应多条观测到一个对象对应一条观测423.1 简介结构重组是指下面两个数据集的相互转换:每个对象对应一条观测,每个对象对应多条观测。我们为什么需要这种转换呢?因为当一个对象对应一条记录时,一些算法更容易执行。而另外一些算法更容易执行一个对象多条记录的这类数据。方法是用DATA步或者是PROC TRANSPOSE.23.2 用DATA步完成转换 一个对象对应一条观测到一个对象对应多条观测数据集名字为oneper, 一个对象对应三个诊断代码(DX1-DX3).下面是数据集的展示 注意到,一些对象有三个诊断代码,一些有两个,一些有一个(对象004)。怎样获得诊断代码的频率分布?例如,对象001在第三个诊断取值410,对象001在DX1有相同的取值。如果数据集结构被调整成这样,问题可能更好回答。 程序23-1data learn.manyper;set learn.oneper;array DX{3};do visit=1 to 3;if missing(DX{visit})then leave;diagnosis=DX{visit};output;end;keep subj diagnosis visit;run;下面来描述一下SAS程序工作的细节。DO循环开始时,visit的值是1,MISSING函数看是否缺失值。对于对象001,没有缺失的诊断代码,因此对这个对象if语句永远不为真。一个新的变量,,diagnosis,被设置等于数组元素DX{1},和变量DX1有相同的值,为450 。到这里,程序数据向量为(PDA)为由于keep语句,在DO循环的底部,只有变量subj,visit,diagnosis被写到数据集manyper里面接着是下一条DO循环,visit等于2,diagnosis等于430,这些值被输出到数据集manyper中的第二条观测。最后,visit等于3,diagnosis等于410,这些值被输出到数据集manyper中的第三条观测。数据部现在到达底部,由于oneper数据集没到达文件的最后,oneper数据集中一条新的观测到了PDV中,过程继续。当DO循环到达对象002的第3个visit,DX{3}是缺失值,MISSING函数返回一个真值,LEAVE语句执行。一个LEAVE语句执行意味着DO循环伸出一个分支,跳到DO循环的第一个状态(output没有执行)。这意味着下一条DX不为缺失的记录将覆盖这个DX缺失的记录。23.3用DATA步完成转换 一个对象对应多条观测到一个对象对应一条观测程序23-2 从一个对象对应多条记录变为一个对象对应一条记录data learn.oneper;set learn.manyper;by Subj Visit;array Dx{3};retain Dx1-Dx3;if first.Subj then call missing(of Dx1-Dx3);Dx{Visit} = Diagnosis;if last.Subj then output;keep Subj Dx1-Dx3;run;首先,要按照 subj visit排序(里面已经按顺序排好了,但通常情况下,先要排一下)。然后设置数值去保存三个DX的值,并retain这三个值。你需要retain这三个变量是因为这三个变量不是来自于不是来自于一个SAS数据集,在默认情况下,一条循环读完后会变为缺失值。而retain语句可防止这个事情发生,如当我读完第一条观测值,DX1有值,DX2,DX3缺失。读第二条值,DX1的值依然保留着,于是DX1,DX2有值,DX3缺失。当读完第三条,DX1,DX2,DX3都有值(一个subj的读取结束了)。然后,当你开始处理第一个visit的时候(一个新的subj开始了),设置DX的3个取值为缺失值。如果你不这样做,如果这个对象visit的个数小于3,将会从之前的的DX取值。CALL MISSING函数完成了这项任务。然后,你指定DX合适的值。23.4用PROC TRANSPOSE过程完成转换 一个对象对应一条观测到一个对象对应多条观测PROC TRANSPOSE也可以用于SAS数据集结构的调整。有时候PROC TRANSPOSE提供一个又快又简单的方法,有时候PROC TRANSPOSE方法会更复杂。通常,数据部能够提供更多的。
您可能关注的文档
- 论语中各个人物字及名汇总.doc
- ESP电子稳程定序.ppt
- 论语孟子选句读名编汇.doc
- 论财务管理对企业成本控制作用及模式构建.doc
- 论述电子合同订立的形式-内容-成立时间-地点是如何规定的订立形式-内容.doc
- 论述科学技术对社会和文明影响.doc
- ET服装CA实D例打版.ppt
- 论野外生存技能重要性.doc
- 论青少年社会主核义心价值观教育.doc
- 论领导科学与管理科学联系与区别.doc
- 中国国家标准 GB/T 32151.35-2025温室气体排放核算与报告要求 第35部分:玻璃纤维产品生产企业.pdf
- 中国国家标准 GB/T 17215.241-2025电测量设备 通用要求、试验和试验条件 第41部分:多电能和多费率仪表的电能计度方法和要求.pdf
- GB/T 17215.241-2025电测量设备 通用要求、试验和试验条件 第41部分:多电能和多费率仪表的电能计度方法和要求.pdf
- GB/T 45133-2025气体分析 混合气体组成的测定 基于单点和两点校准的比较法.pdf
- 中国国家标准 GB/T 45133-2025气体分析 混合气体组成的测定 基于单点和两点校准的比较法.pdf
- 《GB/T 45133-2025气体分析 混合气体组成的测定 基于单点和两点校准的比较法》.pdf
- 中国国家标准 GB/T 43707-2025科学数据溯源元数据.pdf
- 《GB/T 43707-2025科学数据溯源元数据》.pdf
- GB/T 43707-2025科学数据溯源元数据.pdf
- GB/T 43710-2025科学数据安全审计要求.pdf
文档评论(0)