SAS数据的对比和清洗
SAS中对比两个数据集的命令是proc compare,它的基本格式如下:
其中, proc compare 语句是调用数据比较过程,选项 base 和 compare 分别指定被比较的两个数据集; nosummary 的作用是不显示一些概括性的结果;而 transpose 则是按记录显示不一致的结果,默认是按变量显示不一致的结果。
而 id 语句通常指定索引变量,如id号,默认显示行号。举例说明:
一旦发现输入错误的数据集,便可以使用 if ...then... 语句进行修改,举例说明:
SAS利用 proc sort 过程来查找和删除重复值,它的基本格式如下:
其中,若不指定 out 选项,那么排序后的数据集将覆盖原有数据集; nouniquekey 的作用是输出重复值, nodupkey 选项是输出唯一值。
by 语句指定排序的变量,可以指定多个,默认按升序排序。
SAS的sort过程会自动产生两个变量:first.变量和last.变量,这两个变量分别表示 某变量某个值 的第一个和最后一个观测。直接举例说明其用法:
在上述例子中,需要注意的是,用 set 语句赋值数据集时,也要加上 by 语句,否则SAS不认 first.id 和 last.id 。
除此之外,如果想要过滤掉观测的第一行,可以在 proc print; 前面加一句 if not first.id;
2024-07-24 广告