继续《SAS编程与数据挖掘商业案例》学习笔记,本文侧重数据处理实践,包括:HASH对象、自定义format、以及功能强大的正则表达式
一:HASH对象
Hash对象又称散列表,是根据关键码值而直接进行访问的数据结构,是根据关键码值而直接进行访问的数据结构,
sas提供了两个类来处理哈希表,用于存储数据的hash和用于遍历的hiter,hash类提供了查找、添加、修改、删除等方法,hiter提供了用于定位和遍历的first、next等方法。
优点:键值的查找是在内存中进行的,有利于提高性能;
常用方法:
definekey:定义键
Definedata:定义值
definedone:定义完成,可以载入数据
add:添加键值,如在hash表中已存在,则忽略;
replace:如果健在hash表中存在,则替换,如果不存在则添加键值
remove:清除键值对
find:查找健值,如果存在则将值写入对应变量
check:查找键值,如果存在则返回rc=0,不修改当前变量的值;
output:将hash表输出到数据集
clear:清空hash表,但并不删除对象
equal:判断两个hash类是否相等
find方法的示例:
libname chapt12 'f:\data_model\book_data\chapt12';
data results;
run;
hiter对象的引例:
data patients;
datalines;
smith-4123 15mar2004
hagen-2834 23apr2004
smith-2437 15jan2004
flinn-2940 12feb2004
;
data _null_;