我有2个sas输出表。第一个表有a,b,c列,第二个表有d,e,f列 第一张表是:
a b c
1 2 3
4 5 6
第二张表是:
d e f
7 8 9
是否可以将它们附加到具有所需输出的一张纸上
a b c
1 2 3
4 5 6
d e f
7 8 9
答案 0 :(得分:0)
是的,你可以使用proc append
将第二个表附加到第一个表,你只需要在附加之前重命名第二个表中的列。
proc append base=table1 data=table2(rename=(d=a e=b f=c)) ;run;
完整代码:
data table1;
input a b c;
datalines;
1 2 3
4 5 6
;
run;
data table2;
input d e f;
datalines;
7 8 9
;
run;
proc append base=table1 data=table2(rename=(d=a e=b f=c)) ;run;
在追加后,表1将如下所示:
a=1 b=2 c=3
a=4 b=5 c=6
a=7 b=8 c=9
另一个选项:如果你的所有数据都是字符,你只需创建一个第三个表来保存你想要追加的列名。
完整代码:
data table1;
input a $ b $ c $;
datalines;
1 2 3
4 5 6
;
run;
data table2;
input d $ e $ f $;
datalines;
7 8 9
;
run;
data table2_names;
input d $ e $ f $;
datalines;
d e f
;
run;
proc append base=table1 data=table2_names(rename=(d=a e=b f=c)) ;run;
proc append base=table1 data=table2(rename=(d=a e=b f=c)) ;run;
输出:
a=1 b=2 c=3
a=4 b=5 c=6
a=d b=e c=f
a=7 b=8 c=9