【发布时间】:2017-02-23 12:58:44
【问题描述】:
我将介绍我想做的简化版。我知道如何在 SAS 中轻松做到这一点,但在 Stata 中却不知道。 假设我正在尝试创建一个“差”的二进制变量 = 1 如果观察被分类为差,否则为 0。我想有两种分类,一种基于实际收入,另一种基于实际消费(这些是数据集中的变量)。
SAS 宏是
%MACRO poverty_bin(type=, measure=)
DATA dataset;
SET dataset;
IF &measure. <= poverty_line THEN poor&type. = 1 ELSE poor&type. = 0;
RUN;
%MEND
%poverty_bin(type=con, measure=real_consumption);
%poverty_bin(type=inc, measure=real_income);
应该创建两个二进制变量poor_con 和poor_inc。
我不知道如何在 Stata 中执行此操作。我尝试做这样的事情只是为了看看嵌套的foreach 是否是我正在寻找的:
foreach x of newlist con inc {
foreach y of newlist real_income real_consumption{
display "`x' and `y'"
}
}
但它给出了一条错误消息,说“变量 real_income 已经定义”
【问题讨论】:
标签: stata