Stata. Как преобразовать набор данных в чистые панельные данные?

Я делал это много раз с Excel и Java ... На этот раз мне нужно сделать это с помощью Stata, потому что удобнее сохранять переменные labels. Как я могу реструктурировать набор данных_1 в набор данных_2 ниже?

Мне нужно преобразовать следующий набор данных_1:

введите описание изображения здесь

в набор данных_2:

введите описание изображения здесь

Я знаю один способ, который немного неудобен ... Я имею в виду, я мог бы expand все наблюдения, затем создать переменную obsNo, а затем rename переменные ... есть ли лучший способ?


person CHEBURASHKA    schedule 10.06.2013    source источник


Ответы (1)


Стата замечательно справляется с подобными вещами, это просто reshape. Ваши данные немного неудобны, поскольку команда reshape была разработана для работы с переменными, где общая часть имени переменной (в вашем случае, Wage) идет первой. В документации для reshape "Заработная плата" будет заглушкой. Часть после заработной платы должна быть числовой. Если вы сначала отсортируете имена переменных по

rename (raceWhiteWage raceBlackWage raceAsianWage) (Wage1 Wage2 Wage3)

Тогда вы сможете:

reshape long Wage, i(state year) j(race)

Это должно дать вам результат, который вы ищете. У вас будет столбец с надписью «раса» со значениями 1 для белых, 2 для черных и 3 для азиатских.

person Kyle Heuton    schedule 10.06.2013
comment
Reshape - хитрая команда, я пока даже не могу ее понять. Суффикс заглушки Wage должен быть числовым. Я сейчас отредактирую свой ответ - person Kyle Heuton; 10.06.2013
comment
@Snoozer У вас могут быть строковые суффиксы; вам просто нужно сделать это явным с помощью параметра string. - person Nick Cox; 10.06.2013