▏数据清洗技术[专业内容]_第1页
▏数据清洗技术[专业内容]_第2页
▏数据清洗技术[专业内容]_第3页
▏数据清洗技术[专业内容]_第4页
▏数据清洗技术[专业内容]_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据清理技术,冯国双 中国疾控中心卫生统计室,数据清洗,从数据收集结束,到统计分析之前,需要对数据做的清理工作,数据清洗,数据双录入对比 数据合并 查找重复值 查找缺失值 查找异常值,双录入对比,Excel用到的函数: If函数 If(判断条件,条件满足返回值,条件不满足返回值) exact函数比较两个文本是否相同 exact(比较文本1,比较文本2) offset函数返回给定偏移量的新区域 offset(参照区域,行,列),双录入对比,small(数据区域,第几小 ) 计算单元格范围的第几小的数值 Column() 返回单元格所在号 Row() 返回单元格所在行号,双录入对比,SAS命令:

2、proc compare ; by 变量1 变量2 ; run;,双录入对比,proc compare语句调用数据比较过程,选项base和compare分别指定两个比较和被比较的数据集;nosummary的作用是不显示一些概括性的结果。 by语句指定的变量有点类似于索引的作用,通常指定id号。如果两个数据集的观测数不同,利用by语句可以保证它们比较的仍然是同一个id号,而不会出现错位比较的情况。,双录入对比,data a1; input id g gender age marriage height weight nation; cards; (数据) ; data a2; input id

3、g gender age marriage height weight nation; cards; (数据) ; proc compare base=a1 compare=a2 nosummary; run;,双录入对比,双录入对比,查找缺失值,Excel函数: If函数 If(判断条件,条件满足返回值,条件不满足返回值) exact函数比较两个文本是否相同 exact(比较文本1,比较文本2) offset函数返回给定偏移量的新区域 offset(参照区域,行,列),查找缺失值,small(数据区域,第几小 ) 计算单元格范围的第几小的数值 Column() 返回单元格所在号 Row()

4、返回单元格所在行号,查找缺失值,SAS可用missing函数实现 如果结合数组和自动变量,可以一次性实现所有变量缺失值的输出,查找缺失值,data a1; input id g gender age marriage height weight nation; miss_g=missing(g); miss_gender=missing(gender); miss_age=missing(age); miss_marriage=missing(marriage); miss_height=missing(height); miss_weight=missing(weight); miss_na

5、tion=missing(nation); cards; (数据) ; proc print; run;,查找缺失值,部分结果,查找缺失值,利用数组和自动变量 data missing; set a; array cha* _character_ ; do i=1 to dim(cha); if missing(chai) then output; end; array num* _numeric_ ; do i=1 to dim(num); if missing(numi) then output; end; drop i; proc print; run;,查找缺失值,缺失值结果,查找重复

6、值,Excel函数: countif(计数区域,条件 ) 根据指定条件,在计数区域内计数,查找重复值,SAS命令: proc sort ; by 变量1 变量2 ; run;,查找重复值,proc sort语句调用排序过程。选项out=数据集指定排序后的数据集名。因为排序后数据发生了变化,因此可指定该选项将排序后的数据存放到一个新的数据集中。如果不加该选项,排序后的数据集将覆盖原有数据集,这样你就找不回原有的未排序的数据了。 选项nodupkey表示如果by语句指定的排序变量有重复值,则删除重复值。如按id排序,如果id有重复值,则只保留重复值中的第一个值,删除其它值。 选项nouniquek

7、ey的作用跟nodupkey正好相反,如果by语句指定的排序变量都是唯一值,则将其删除。如按id排序,如果id没有有重复值,则全部删除。,查找重复值,by语句指定排序的变量,可以指定多个。选项descending表示按降序排序,如果不加该选项,默认的是按升序排序。 当需要查找重复值时,by语句指定的变量就是需要查找的重复值变量。,查找重复值,data a1; input id g gender age marriage height weight nation; cards; (数据) ; proc sort nouniquekey out=bb; by genderage marriage

8、height weight; run; proc print data=bb; run;,查找重复值,5个变量均重复的观测,查找异常值,Excel函数: If函数 If(判断条件,条件满足返回值,条件不满足返回值) 结合各种算术运算符、比较运算符、逻辑运算符等,查找异常值,常见运算符,查找异常值,SAS可用if语句或where语句结合各种运算符来查找异常值,查找异常值,SAS中的常见运算符,查找异常值,data a1; input id g gender age marriage height weight nation; cards; (数据) ; data b1; set a1; if (

9、gender not in(1,2) | (age=60) | (height=200) | (weight=100) | (marriage not in (1,0) | (nation not in (1,2); proc print; run;,查找异常值,查找异常值,data b2; set a1; if (gender not in(1,2,.) | (age=. and (age=60) | (height=. and(height=200) | (weight=. and (weight=100)| marriage not in (1,0,.) | nation not in

10、(1,2,.); proc print; run;,查找异常值,查找异常值,data gender(where=(gender not in(1,2,.) age(where=(not missing(age) and(age=50) marriage(where=(marriage not in(1,0,.) height(where=(not missing(height) and(height=200) weight(where=(not missing(weight) and(weight=100) nation(where=(nation not in(1,2,.) ; set a1; run;,查找异常值,proc print data=gender; var id gender; proc print data=age; var id age; proc print data=marriage; var id marriage; proc print data=height; var id height; proc p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论