Я использую команду сообщества 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
+ )
Как только я программно определил, какой макрос мне нужно использовать (например, число = 1), я застрял.
Я не знаю, как программно создать имя этого макроса, а затем использовать его как обычный макрос. Я даже не уверен, возможно ли это.
Не могли бы вы помочь мне с этим?
Мне удалось скопировать имя макроса в обычную строку следующим образом:
. scalar inum = 7
. gen macroname = "r(best" + string(inum,"%8.0g")+")"
. di macroname
r(best7)
Но как я могу использовать это в моей оценке?
Очевидно, что следующий код не работает:
xtreg logremglobale `macroname' i.date, fe