Stata скопировать категориальную переменную
Можно ли скопировать помеченную категориальную переменную в одну строку или мне обычно приходится копировать метки как отдельный шаг?
В случае, если я смотрю, egen ... group()
подходит близко, но меняет основные целые числа.
sysuse auto
** starts them from different indices
egen mycut = cut(mpg), at(0 20 30 50) label icodes
egen mycut_copy = group(mycut), label
** does weird stuff
egen mycut2 = cut(mpg), at(0 20 30 50) label icodes
replace mycut2 = group(mycut2)
egen mycut_copy2 = group(mycut2), label
** the correct approach?
gen mycut3 = cut(mpg), at(0 20 30 50) label icodes
gen mycut_copy3 = mycut3
label values mycut_copy3 mycut3
0 ответов
Вы можете делать то, что вы хотите очень легко, используя менее известные clonevar
команда:
sysuse auto, clear
egen mycut = cut(mpg), at(0 20 30 50) label icodes
clonevar mycut2 = mycut
list mycut* in 1/10, separator(0)
+----------------+
| mycut mycut2 |
|----------------|
1. | 20- 20- |
2. | 0- 0- |
3. | 20- 20- |
4. | 20- 20- |
5. | 0- 0- |
6. | 0- 0- |
7. | 20- 20- |
8. | 20- 20- |
9. | 0- 0- |
10. | 0- 0- |
+----------------+
Обратите внимание, что group()
относится к различным функциям при использовании с generate
а также egen
Вот почему вы не получите те же результаты.