Мне часто приходится проверять, являются ли переменные постоянными в группе. Вот как я сейчас go об этом (предположим, что группа определяется как ab- c, а рассматриваемая переменная - var):
bys a b c (var): gen isconstant=var[1]==var[_N]
*manually inspect the results of the below tabulation; if all 1's, then it is constant
tab isconstant
drop isconstant
(Обратите внимание, что в приведенном выше подходе предполагается, что нет пропущенных наблюдений внутри группы. Мне нужно больше думать о том, как подойти к нему, если бы были пропуски. И вместо ручной проверки, можно использовать что-то вроде assert
.)
Это работает хорошо, но есть ли более лаконичный способ сделать это? Возможно однострочное решение, примерно аналогичное isid ...
, но, конечно, проверка чего-то другого.