【发布时间】:2012-10-19 18:12:47
【问题描述】:
我正在使用levelsof 命令来识别变量的唯一值并将它们粘贴到宏中。然后稍后我想使用宏中的这些值从我将加载的另一个数据集中选择记录。
我的想法大致如下:
keep if inlist(variable, "`macrovariable'")
这行得通吗?还有其他更有效的选择吗?我可以在 R 中轻松做到这一点(因为向量比宏更容易使用),但是这个项目需要 Stata。
澄清:
如果我有一个具有三个唯一值 a、b 和 c 的变量,我想将它们存储在一个宏变量中,以便稍后获取另一个数据集并选择与其中一个值匹配的观察值.
通常可以使用inlist 函数手动执行此操作,但我想对其进行软编码,以便可以使用不同的值集运行程序。而且我无法让inlist 函数与宏一起使用。
【问题讨论】:
-
你能说得更具体点吗?你试过了吗?如果是这样,它有效吗?如果没有,您遇到了什么问题?
-
虽然常用,但“唯一”(严格的意思是,只出现一次)在这里并不是最好的术语。我推荐“不同的”。
标签: stata stata-macros