Преобразовать значение переменной из двух переменных в отдельное значение переменной
У меня есть следующая матрица данных, содержащая баллы Poole dw-nominate:
con statenm party name dwnom1
80 USA 100 TRUMAN -.276
80 ALABAMA 100 BOYKIN F -.026
Мне было интересно, есть ли в Stata способ превратить значение dwnom1 в США в конкретную переменную USA_dwnom1. Мне бы хотелось, чтобы каждая переменная со значением cong == 80 имела значение -.276 для каждого значения новой переменной USA_dwnom1.
Еще раз, мне было интересно, есть ли способ сделать это в цикле (я делаю это с 80-го до 112-го конгресса).
1 ответ
Решение
Есть много способов сделать это. Вот один, используя пользовательскую команду xfill
:
clear
input con str7 statenm party str8 name dwnom1
80 USA 100 "TRUMAN" -.276
80 ALABAMA 100 "BOYKIN F" -.026
end
net from http://www.sealedenvelope.com/
net install xfill
gen USA_dwnom1 = dwnom1 if statenm =="USA"
xfill USA_dwnom1, i(con)
carryforward
это еще один вариант. Некоторые другие первопринципиальные решения, которые используют replace
и подписку можно найти здесь.
Нет необходимости зацикливаться на конгрессах.