добавить таблицы на другую таблицу с именем переменной в SAS - PullRequest
0 голосов
/ 04 мая 2018

У меня есть 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

1 Ответ

0 голосов
/ 04 мая 2018

Да, вы можете добавить вторую таблицу к первой, используя 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;

Table1 будет выглядеть после добавления:

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
...