【发布时间】:2019-05-01 20:08:01
【问题描述】:
我是 SAS 的初学者,所以我不熟悉语法。我有两个使用宏创建的数据集。 (宏:https://gist.github.com/statgeek/2f27939fd72d1dd7d8c8669cd39d7e67)
DATA test1;
set sashelp.class;
if prxmatch('m/M/oi', sex);
female=ifn( sex='F',1,0);
RUN;
%table_char(test1, height weight age, sex, female, test1_table_char);
DATA test2;
set sashelp.class;
if prxmatch('m/F/oi', sex);
female=ifn( sex='F',1,0);
RUN;
%table_char(test2, height weight age, sex, female, test2_table_char);
期望的输出:
Male Female
Height
Count
Mean
Median
.
.
Weight
Count
Mean
Median
.
.
Sex
M
F
Etc
我想将使用 %table_char 按名称创建的两个宏表合并在一起。我应该如何调用这两个表以便合并?
DATA final_merge;
merge test1_table_char test2_table_char;
by NAME;
RUN;
【问题讨论】:
-
你的最终目标是什么。这里的场景似乎不需要宏
-
我想合并 NAME 为 test1 和 test2 创建的表。我不需要宏来合并,但我不知道如何合并表格。
-
您能否提供一些可以显示预期输出的示例数据?
-
您是否创建了您正在调用的宏?你知道它生成的数据集是如何格式化的吗?您需要先了解这一点,然后才能知道如何将其中两个放在一起。
-
我没有创建链接中的宏。我知道它生成的数据集在单列人口统计表中格式化。由于我是初学者,我真的不知道如何编辑宏以包含多个组。相反,我只是创建多个同一个表并将它们合并在一起以获得我需要的东西(上面发布)。