1、数据的合并
在数据量较大的时候经常会交给不同的人进行录入,这时我们就需要把他们录入的数据合并到一个数据集中,这就是数据合并,分为纵向合并和横向合并。
(1)数据纵向合并
纵向合并的语法是(set语句):
data 数据集;
set 数据集1 数据集2...;
run;
set 后面如果只有一个数据集,相当于对该数据集进行复制;
数据集选项最常用的有两种:
第一种:
set 数据集1(in=临时变量1) 数据集2(in=临时变量2)...;
该语句是对临时变量进行了定义,来自于该数据集的临时变量的值为1,不来自该数据集的临时变量为0(如果不进行额外设置的话,临时变量1、临时变量2是不会显示在数据集中的)具体如下所示:
/*合并数据集 */
DATA DATA01.dsg1;
/* SET DATA01.ds1(IN = a) DATA01.ds2(IN = b);*临时变量不会自己写入数据集; */
/* ds1 = a; */
/* ds2 = b; */
*使用IN=的方式来追溯数据来源;
SET DATA01.ds1 DATA01.ds2(RENAME=(ht = height wt = weight));
/* 使用rename来完成变量的重命名 */
RUN;
DATA DATA01.dsg1c;
SET DATA01.dsg1;
RUN;
PROC PRINT DATA = DATA01.dsg1c;
RUN;
第二种
set 数据集1(rename=(原名1=新名1)) 数据集2 (rename=(原名2=新名2))...;