Построить новую переменную из 5 категориальных переменных в Stata
У меня есть 5 категориальных переменных результата. Я решил отбросить ответы "Не знаю", оставив только "Да / Нет", чтобы эти переменные были двоичными.
Чтобы иметь возможность выполнять регрессионный анализ, моя идея состояла в том, чтобы создать новую переменную результата, которая будет иметь категории Да / Нет, где ответ Да будет записан для ЛЮБОГО ответа Да из этих 5 переменных. Я не могу понять, как это сделать в Stata, какие команды использовать..
2 ответа
Первые три функции, которые вы получаете от help egen
актуальны.
То, что вы, кажется, хотите, это:
egen any_x = anymatch(x1 x2 x3 x4 x5), v(1)
Возможно, вы захотите создать составной индикатор, хотя:
egen gx = group(x1 x2 x3 x4 x5), l
Это создаст более сложный результат (просто попробуйте). l
Опция пометит результаты, вы поймете, что она делает без каких-либо затруднений. group
Функция также имеет опцию для пропущенных значений, если вы заинтересованы в сохранении ваших NA/DK. Проверьте документацию и посмотрите, что подходит вашему проекту лучше всего. Трудно сказать без дальнейших подробностей или минимального рабочего примера.
Решение выше должно также работать, кстати.
Если ваши 5 переменных являются двоичными и содержат 0
или же 1
x1 x2 x3 x4 x5
тогда вы просто закодируете
x_any = x1 | x2 | x3 | x4 | x5
Если они содержат yes
или же no
тогда вы должны сначала перекодировать в новые переменные.
gen x1 = (x1_yesno == "yes")
Квадратные скобки не нужны, но они дают вам лучшее представление о том, что Sstata устанавливает x1 в логическое значение true (т.е. 1
) только когда x1_yesno
является yes
,