Есть ли причина, почему есть две разные команды для создания новой переменной?
Есть ли простой способ запомнить, когда использовать gen и когда использовать egen?
Ответ 1
Они создают новую переменную, но работают с разными наборами функций. Обычно вы используете gen, когда у вас есть простые преобразования других переменных в вашем наборе данных, например
gen newvar = oldvar1^2 * oldvar2
В моем рабочем процессе egen обычно появляется, когда мне нужны функции, которые работают во всех наблюдениях, например, в
egen max_var = max(var)
или более сложные инструкции
egen newvar = rowmax(oldvar1 oldvar2)
чтобы вычислить максимум для каждого наблюдения между oldvar1 и oldvar2. Я не думаю, что существует четкая логика для разделения двух команд.