我正在使用社区贡献的命令gvselect,该命令允许执行最佳子集变量选择(一种选择变量的统计方法)。
使用后,我得到以下结果:
. return list
macros:
r(best3) : " q105capitalisationboursireouvalo q12nombredefemmesauconseil q405existenceduncomitdesrmunrati"
r(best2) : " q12nombredefemmesauconseil q405existenceduncomitdesrmunrati"
r(best1) : " q405existenceduncomitdesrmunrati"
然后我需要在另一种统计估计方法中使用其中一个宏。
例如,我可以使用第一个如下:
xtreg logremglobale `r(best3)' i.date, fe
(注意宏`r(best3)'
被用作参数)
我的框架需要我事先不知道我需要使用哪个宏,所以我以编程方式确定它。
在这个简化的示例中,我可能必须使用r(best1)
,r(best2)
或r(best3)
(实际上有更多可用的宏),具体取决于数据。
gvselect生成的所有宏都具有相同的语法 :r(best
++number
)
一旦我以编程方式确定了我必须使用哪个宏(例如:number = 1),我就被卡住了。
我不知道如何以编程方式创建此宏的名称,然后将其用作普通宏。我什至不确定这是否可能。
你能帮我解决这个问题吗?
我已成功将宏名称复制到普通字符串中,如下所示:
. scalar inum = 7
. gen macroname = "r(best" + string(inum,"%8.0g")+")"
. di macroname
r(best7)
但是我如何在我的估计中使用它呢?
显然下面的代码不起作用:
xtreg logremglobale `macroname' i.date, fe