У меня есть списки переменных в локальных макросах, которые я хотел бы использовать в команде, например:
local a int1 int2 num1 num2 bin1 bin2 ...
local b int3 int4 bin3 num3 ...
Здесь переменные num*
int*
и bin*
являются числовыми, целыми и двоичными соответственно.
Я хочу запустить цикл foreach
по переменным в локальном a' and
b', но только тем, которые имеют целочисленное значение, а именно int1, int2, int3
,...
Для этого я использую команду findname
, созданную Ником Коксом, для поиска переменных с целочисленным значением, сохраняя список соответствующих имен переменных в локальном макросе. Но я не хочу запускать его для всех переменных в наборе данных, а только для подмножеств переменных (обозначенных в локальных переменных a
, b
и т. д.), а затем использовать список в последующей команде.
Итак, для списка целочисленных переменных в локальном a' and
b', являющемся локальным a_int' and
b_int', я хочу использовать следующее:
foreach var of varlist `a_int' `b_int'{
whatever command
}
foo
есть в списке, вы можете создать новую переменнуюfoo_qualifies
какgen foo_qualifies = 1
, которая равна 1 во всех наблюдениях. И так далее для других переменных. Я не понимаю, почему это может быть полезно сверх того, что предоставляетfindname
. Почему вы хотите этого? - person Nick Cox   schedule 26.01.2021