*limpeza da base de dados da pnad 2012 *data de criacao: 17/03/2014 cap log close clear set mem 300m set more 1 cd "C:\COMPARTILHADO" *cd "caminho de diretorio da sua casa" log using "limpezapnad_pes2012.log", replace use "pnad_pes2012.dta", clear keep UF V4803 V0302 V0404 V8005 V0601 V0602 V6002 V6020 V6003 V6030 V0604 V0605 V0606 V6007 V6070 V0608 V0609 V0610 V0611 V06111 V061111 V06112 V0612 V9032 V9058 V4704 V4805 V4706 V4810 V4718 V4719 V4727 V4728 V4729 V4742 *save "pnad_pes2012.dta", replace *limpeza das variaveis de renda recode V4718 999999999999=. recode V4719 999999999999=. recode V4742 999999999999=. *gerar dummies para grandes regiões gen norte=0 replace norte=1 if UF>10&UF<20 gen nordeste=0 replace nordeste=1 if UF>20&UF<30 gen sudeste=0 replace sudeste=1 if UF>30&UF<40 gen sul=0 replace sul=1 if UF>40&UF<50 gen centroeste=0 replace centroeste=1 if UF>50&UF<60 * dummies de uf tab UF, gen(duf) *cor de pele /* 2 Branca 4 Preta 6 Amarela 8 Parda 0 Indígena */ gen branco=0 replace branco=1 if V0404==2|V0404==6 gen preto=0 replace preto=1 if V0404==4 gen pardo=0 replace pardo=1 if V0404==8|V0404==0 * variável de urbano gen urbano = 0 replace urbano = 1 if V4728>=1 & V4728<=3 * dummies para sexo gen homem = 0 replace homem = 1 if V0302==2 gen mulher = 0 replace mulher = 1 if V0302==4 * dummies público x privado - setor trabalho gen publico = 0 replace publico = 1 if V9032==4 gen privado = 0 replace privado = 1 if V9032==2 * variável metropolitano gen metropolitano = 0 replace metropolitano = 1 if V4727==1 * dummies para faixa etária (0-9, 10-19, 20-29 ..., 70 ou mais) gen id0a9 = 0 replace id0a9 = 1 if V8005>=0 & V8005<=9 gen id10a19 = 0 replace id10a19 = 1 if V8005>=10 & V8005<=19 gen id20a29 = 0 replace id20a29 = 1 if V8005>=20 & V8005<=29 gen id30a39 = 0 replace id30a39 = 1 if V8005>=30 & V8005<=39 gen id40a49 = 0 replace id40a49 = 1 if V8005>=40 & V8005<=49 gen id50a59 = 0 replace id50a59 = 1 if V8005>=50 & V8005<=59 gen id60a69 = 0 replace id60a69 = 1 if V8005>=60 & V8005<=69 gen id70mais = 0 replace id70mais = 1 if V8005>=70 & V8005<=120 ****************************************** ********* Aula 18/03/14 ****************** ****************************************** // Pode tabular para checar se as variáveis criadas estão ok // Exemplos: // sum id* // tab V4728 urbano * variável educa (escolaridade) do "C:\COMPARTILHADO\Prog_EDUCA_2007correto.do" * variável salário horário gen w = V4718/(4*V9058) // log do salario gen lw = ln(w) ***** Procedimento ****** // w = f(educa, idade, sexo, raça, grandes regiões, público, urbano, metropolitano) * induzindo normalidade da variável dependente kdensity w *gera log da variável w (gerado junto com a variável w) kdensity lw * estatísticas descritivas *médias das variáveis explicativas, admitindo que quero trabalhar com pessoas acima de 20 anos sum educa V8005 privado homem branco preto pardo norte sul nordeste sudeste centroeste metropolitano urbano if V8005>=20&V8005~=. *gráficos associando os valores das explicativas ao salário // tab educa, sum(w) // como da problema plotar diretamente os dados, vamos calcular a média salarial por ano de estudo by educa, sort: egen wbarra = mean(w) if V8005>=20&V8005~=. //by educa, sort: egen wbarra = wtmean(w), weight if V8005>=20&V8005~=. tab educa, sum(wbarra) tab educa [fw = V4729], sum (wbarra) // twoway (scatter wbarra educa) (qfit wbarra educa) reg lw educa homem branco pardo reg lw educa homem branco pardo, vce(rob)