Stata:编辑全局的每个元素(其中包含变量列表)

Stata: Edit each element of a global (which contains a list of variables)

这可能只是一个简短的语法问题。我有:

clear all
macro drop _all
global variables var1 var2

我想要

global means m_var1 m_var2

这是我在别处生成的。目标是在 Mundlak 回归中使用两个全局变量(如 reg depvar $variables $means 而不必 calculate/include 手动处理不同的规范。我的想法是:

global means "m_`variables'"

但这只是忽略了 variables 全局。再次为 R-think 感到抱歉...

编辑: 我的策略:我正在尝试编写一个运行模型的程序(Mundlak/Chamberlain 随机效应 logit,参见 Wooldridges Panel 书第 2 版第 487 页)在几个不同的变量列表和 returns 回归结果图上。这样做应该使我只需要在开始时更改指定这些变量的 globals/locals。因此,我需要有代码来创建全局变量的时间平均值,并在 logit 规范中使用这些和原始全局变量。

我不相信你的总体策略是好的,但我没有关于你面临的问题的信息,所以我不会发表更多评论。

我要说明的是,如果您可以节省 globals,那么使用 locals 是一个更好的主意,并且您可以使用循环重新定义宏的内容:

clear all
set more off

local variables var1 var2

// original
local means "m_`variables'"

// loop
local means2
foreach v of local variables {
    local means2 `means2' m_`v'
}

display "`means'"
display "`means2'"