SAS学习笔记13 SAS数据清洗和加工(续)
查找缺失值
cha[*]和num[*]是建立数组cha和num,但不指定数组中的元素数
自动变量_character_表示数据集中的所有字符型变量
自动变量_numeric_表示数据集中的所有数值型变量
_all_表示数据集中的所有变量
if和where的区别
where运行的速度要快一些,因为它是在数据读入之前就执行选择条件,而if是在数据读入之后才执行。但只有在数据量很大的时候才能感觉出来,正常几百几千个数据几乎感觉不到
只能用if的场合
使用自动变量时,只能用if,不能用where
如果指定的条件变量是新产生的变量,只能用if,不能用where
只能用where的场合
当使用某些特殊运算符时,只能用where,不能用if
当调用某一proc过程时,如果要选择部分观测执行该过程,只能用where,不能用if
查找异常值
缺失值的填补
之前笔记1介绍过缺失值的单一插补法,这里介绍下缺失值的多重填补(multiple imputation)
可以看到,sas默认产生5个填补完整的数据集,每个数据集的填补值都不同。我们可以取这5次填补的平均值作为最终的填补值