sas:数据集的横向合并、纵向合并

时间:2022-12-24 21:49:29

横向拼接最好指定主键,否则set拼接可能出错

比较推荐:

PROC SQL; CREATE TABLE S.E AS SELECT * FROM C LEFT JOIN A ON C.NAME=A.NAME; QUIT;

/*实现数据集的横向合并,变量不同时,表现为缺失值*/

DATA A12;

SET A1 A2;

RUN;

/*实现数据集的纵向合并,取观测较少者*/

DATA A12;

SET A1;

SET A2;

RUN;

APPEND:实现数据集的追加,纵向追加

proc append base=master  data=add force;
run;

1.为了增加append过程的效率,最好将较大数据量的数据集作为base。

2.master与add的变量个数与属性最好相同,否则以master规定的变量类型为主,出现add变量的长度的截取

3.可以添加选项force,但是为了减少出现错误或减少warning,尽量少用force选项,而是尽量保证两个数据集有完全相同的变量和格式。

MERGE

详细解说见

http://blog.sina.com.cn/s/blog_dd08c3b70102veuk.html