欢迎来到天天文库
浏览记录
ID:48765638
大小:435.87 KB
页数:35页
时间:2020-01-22
《数据清洗技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据清理技术冯国双中国疾控中心卫生统计室数据清洗从数据收集结束,到统计分析之前,需要对数据做的清理工作数据清洗数据双录入对比数据合并查找重复值查找缺失值查找异常值双录入对比Excel用到的函数:If函数If(判断条件,条件满足返回值,条件不满足返回值)exact函数——比较两个文本是否相同exact(比较文本1,比较文本2)offset函数——返回给定偏移量的新区域offset(参照区域,行,列)双录入对比small(数据区域,第几小)计算单元格范围的第几小的数值Column()返回单元格所在号Row()返回单元格所在行号双录入对比SAS命令:proccompare2、se=数据集compare=数据集>;by变量1变量2……;run;双录入对比proccompare语句调用数据比较过程,选项base和compare分别指定两个比较和被比较的数据集;nosummary的作用是不显示一些概括性的结果。by语句指定的变量有点类似于索引的作用,通常指定id号。如果两个数据集的观测数不同,利用by语句可以保证它们比较的仍然是同一个id号,而不会出现错位比较的情况。双录入对比dataa1;inputidggenderagemarriageheightweightnation;cards;……(数据);dataa2;input3、idggenderagemarriageheightweightnation;cards;……(数据);proccomparebase=a1compare=a2nosummary;run;双录入对比双录入对比查找缺失值Excel函数:If函数If(判断条件,条件满足返回值,条件不满足返回值)exact函数——比较两个文本是否相同exact(比较文本1,比较文本2)offset函数——返回给定偏移量的新区域offset(参照区域,行,列)查找缺失值small(数据区域,第几小)计算单元格范围的第几小的数值Column()返回单元格所在号Row()返回单元格所在行号查找缺失值4、SAS可用missing函数实现如果结合数组和自动变量,可以一次性实现所有变量缺失值的输出查找缺失值dataa1;inputidggenderagemarriageheightweightnation;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_nation=missing(nation);card5、s;……(数据);procprint;run;查找缺失值部分结果查找缺失值利用数组和自动变量datamissing;seta;arraycha[*]_character_;doi=1todim(cha);ifmissing(cha[i])thenoutput;end;arraynum[*]_numeric_;doi=1todim(num);ifmissing(num[i])thenoutput;end;dropi;procprint;run;查找缺失值缺失值结果查找重复值Excel函数:countif(计数区域,条件)根据指定条件,在计数区域内计数查找重复值SAS命令:p6、rocsort;by变量1变量2……;run;查找重复值procsort语句调用排序过程。选项out=数据集指定排序后的数据集名。因为排序后数据发生了变化,因此可指定该选项将排序后的数据存放到一个新的数据集中。如果不加该选项,排序后的数据集将覆盖原有数据集,这样你就找不回原有的未排序的数据了。选项nodupkey表示如果by语句指定的排序变量有重复值,则删除重复值。如按id排序,如果id有重复值,则只保留重复值中的第一个值,删除其它值。选项nouniquekey7、的作用跟nodupkey正好相反,如果by语句指定的排序变量都是唯一值,则将其删除。如按id排序,如果id没有有重复值,则全部删除。查找重复值by语句指定排序的变量,可以指定多个。选项descending表示按降序排序,如果不加该选项,默认的是按升序排序。当需要查找重复值时,by语句指定的变量就是需要查找的重复值变量。查找重复值dataa1;inputidggenderagemarriageheightweightnation;cards;……(数据);procsortnouniquekeyout=bb;bygenderage
2、se=数据集compare=数据集>;by变量1变量2……;run;双录入对比proccompare语句调用数据比较过程,选项base和compare分别指定两个比较和被比较的数据集;nosummary的作用是不显示一些概括性的结果。by语句指定的变量有点类似于索引的作用,通常指定id号。如果两个数据集的观测数不同,利用by语句可以保证它们比较的仍然是同一个id号,而不会出现错位比较的情况。双录入对比dataa1;inputidggenderagemarriageheightweightnation;cards;……(数据);dataa2;input
3、idggenderagemarriageheightweightnation;cards;……(数据);proccomparebase=a1compare=a2nosummary;run;双录入对比双录入对比查找缺失值Excel函数:If函数If(判断条件,条件满足返回值,条件不满足返回值)exact函数——比较两个文本是否相同exact(比较文本1,比较文本2)offset函数——返回给定偏移量的新区域offset(参照区域,行,列)查找缺失值small(数据区域,第几小)计算单元格范围的第几小的数值Column()返回单元格所在号Row()返回单元格所在行号查找缺失值
4、SAS可用missing函数实现如果结合数组和自动变量,可以一次性实现所有变量缺失值的输出查找缺失值dataa1;inputidggenderagemarriageheightweightnation;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_nation=missing(nation);card
5、s;……(数据);procprint;run;查找缺失值部分结果查找缺失值利用数组和自动变量datamissing;seta;arraycha[*]_character_;doi=1todim(cha);ifmissing(cha[i])thenoutput;end;arraynum[*]_numeric_;doi=1todim(num);ifmissing(num[i])thenoutput;end;dropi;procprint;run;查找缺失值缺失值结果查找重复值Excel函数:countif(计数区域,条件)根据指定条件,在计数区域内计数查找重复值SAS命令:p
6、rocsort;by变量1变量2……;run;查找重复值procsort语句调用排序过程。选项out=数据集指定排序后的数据集名。因为排序后数据发生了变化,因此可指定该选项将排序后的数据存放到一个新的数据集中。如果不加该选项,排序后的数据集将覆盖原有数据集,这样你就找不回原有的未排序的数据了。选项nodupkey表示如果by语句指定的排序变量有重复值,则删除重复值。如按id排序,如果id有重复值,则只保留重复值中的第一个值,删除其它值。选项nouniquekey
7、的作用跟nodupkey正好相反,如果by语句指定的排序变量都是唯一值,则将其删除。如按id排序,如果id没有有重复值,则全部删除。查找重复值by语句指定排序的变量,可以指定多个。选项descending表示按降序排序,如果不加该选项,默认的是按升序排序。当需要查找重复值时,by语句指定的变量就是需要查找的重复值变量。查找重复值dataa1;inputidggenderagemarriageheightweightnation;cards;……(数据);procsortnouniquekeyout=bb;bygenderage
此文档下载收益归作者所有