• Nenhum resultado encontrado

Em pesquisas amostrais longitudinais, dois tipos de pesos amostrais precisam ser calculados: os pesos transversais (cuja metodologia de cálculo foi discutida na seção anterior), específicos para uma rodada t e para uso em análises envolvendo dados apenas desta rodada; e os pesos longitudinais, também específicos para uma rodada t, mas para uso em análises longitudinais considerando todas as rodadas até t.

Assim, os pesos transversais são reajustados pela não-resposta na rodada t e, quando disponíveis, também pela incorporação de informações auxiliares referentes à mesma rodada. Para a construção de pesos longitudinais, abordagens semelhantes também podem ser adotadas. De fato, é possível calcular até 2T − 1 (onde T é o nº total de rodadas) conjuntos de pesos longitudinais, permitindo a análise de todas as combinações dos padrões de não-resposta. Por razões de simplicidade, Vieira & Ferraz (2014) adotaram uma abordagem que lida apenas com a não-resposta por exclusão de unidades amostrais primárias ou secundárias (o domicílio não pôde ser entrevistado ou a AE a qual pertence sequer pôde ser visitada), resultando na necessidade de se calcular apenas t conjuntos de pesos longitudinais.

Sob esta abordagem, somente os domicílios que responderam ao questionário em todas as t rodadas terão pesos longitudinais positivos na rodada t. Se tomamos, por exemplo, uma pesquisa amostral com duas rodadas, então os pesos longitudinais para a 2ª rodada vão considerar: as probabilidades desiguais de seleção na 1ª rodada; o ajuste para não-resposta unitária, o qual pode ocorrer nas duas rodadas, ou seja, um domicílio que

previamente respondeu ao questionário na 1ª rodada pode não ter participado da pesquisa na 2ª rodada por algum motivo (principal diferença em relação aos pesos transversais); e o ajuste utilizando possíveis informações de variáveis auxiliares referentes à rodada atual.

Em seguida, os pesos longitudinais serão calculados de maneira que seja garantida a consistência dos momentos amostrais ponderados, como estimativas dos momentos populacionais, com respeito à distribuição de probabilidade conjunta de não-resposta (pois temos t rodadas) na amostra. Mantendo a mesma notação utilizada na seção anterior, definimos (Vieira & Ferraz (2014, p. 3)

ˆ ϕhig,t = mh(r),t mh ng|hi(r),t ng|hi (A.11)

como o escore de propensão estimado para resposta dentro do estrato g na AE i dentro da província h, a ser considerado para o ajuste dos pesos longitudinais na rodada t. Os termos mh e ng|hisão os mesmos presentes em (A.9); mh(r),t é o nº de AE’s que foram pesquisadas

até a rodada t (inclusive) e ng|hi(r),t é o nº de domicílios classificados no estrato g da AE i

dentro da província h e que de fato responderam ao questionário até a rodada t (inclusive). Assim ˜ whigj,t = dhigj ˆ ϕhig,t (A.12)

é o peso amostral longitudinal na rodada t ajustado por não-resposta unitária, nas t primeiras rodadas, do domicílio j classificado no grupo g da AE i dentro da província h. Ao contrário do que foi feito para os pesos transversais, não é realizada nenhuma análise que possibilite aparar qualquer dos t conjuntos de pesos amostrais no contexto da YNSPMS (Vieira & Ferraz, 2014).

Uma vez calculados, os pesos longitudinais serão úteis para avaliações de mudanças ao longo do tempo nas estimativas das variáveis pesquisadas e do impacto de determinada política (aqui, o programa SWF) no seu alvo (os domicílios que recebem o benefício).

APÊNDICE B – Códigos Computacionais

para o R

Os códigos abaixo foram integralmente executados no software R versão 3.2.4 (R Core Team, 2016b) e divididos em duas partes. A primeira versa sobre estatísticas descritivas produzidas na dissertação e a segunda, sobre estimativas obtidas para os escores de propensão (considerando o plano amostral); o EMT e o impacto do SWF no nº de horas trabalhadas para os dois grupos etários. Antes de executar os códigos, o diretório do R deve ser atribuído a uma pasta que contenha o(s) banco(s) de dado(s) necessário(s) durante a execução. Isto pode ser feito indo em File → Change Dir. . . e escolhendo a pasta onde o(s) banco(s) de dado(s) se localiza(m), clicando finalmente em OK.

Após isso, instale e carregue no R os pacotes descritos a seguir, procedimento também obrigatório para a execução do código. Nem todas as funções apresentadas no código serão nativas do R. Para instalação de pacotes, use o comandoinstall.packages() install.packages("plyr"); install.packages("xtable")

Para carregar os pacotes previamente instalados, use o comandolibrary() library(foreign); library(plyr)

Embora presente na instalação básica do R, o pacote foreign (R Core Team,

2016a) precisa ser carregado se quisermos usar suas funções, úteis para leitura e escrita de arquivos em diversos formatos de outros software estatísticos. Por sua vez, o pacote plyr (Wickham, 2011) possui funções bem simplificadas (com relação a sintaxes análogas da base do R) para manipulação de bancos de dados (no R, representados pela classe data frame). Já o pacote xtable (Dahl, 2016) possui funções que permitem exibir no R tabelas de objetos diretamente na tipografia LATEX.

Os dados da YNSPMS estão salvos no formato .dta, significando que o banco foi originalmente montado no software Stata. Para ler o banco de dados, use a função read.dta(), do pacote foreign

ynspms = read.dta("ynspms.dta")

Onde ynspms.dta é o nome do arquivo que contém o banco de dados da YNSPMS. Os dados foram lidos e salvos no objeto ynspms, agora um data frame.

Antes de extrair qualquer medida do banco de dados, podemos dividi-lo em quatro de acordo com a rodada e em seguida reorganizá-lo indexando cada linha por indivíduo pesquisado. Note que serão necessários os códigos do domicílio e do indivíduo, sendo as demais variáveis replicadas por rodada. É recomendável salvar sempre qualquer banco criado e, quando a execução for encerrada, removê-lo para recuperar espaço na memória antes de encerrar o R

yd.1r = ynspms[which(ynspms$f2 == "first"),] write.csv(yd.1r, "ynspms1rod.csv")

yd.2r = ynspms[which(ynspms$f2 == "second"),] write.csv(yd.2r, "ynspms2rod.csv")

yd.3r = ynspms[which(ynspms$f2 == "third"),] write.csv(yd.3r, "ynspms3rod.csv")

yd.4r = ynspms[which(ynspms$f2 == "fourth"),] write.csv(yd.4r, "ynspms4rod.csv")

ym12 = merge(yd.1r, yd.2r, by = c("f1", "line_no")) ym34 = merge(yd.3r, yd.4r, by = c("f1", "line_no")) rm(yd.1r, yd.2r, yd.3r, yd.4r)

ym1234 = merge(ym12, ym34, by = c("f1", "line_no")) write.csv(ym1234, "ynspmsMerDI.csv")

rm(ym12, ym34); rm(ynspms)

Para ler novamente os dados, simplificando a nomenclatura dos objetos, basta fazer

yd = read.dta("ynspms.dta")

yd.1r = read.csv("ynspms1rod.csv"); yd.2r = read.csv("ynspms2rod.csv") yd.3r = read.csv("ynspms3rod.csv"); yd.4r = read.csv("ynspms4rod.csv") ym1234 = read.csv("ynspmsMerDI.csv")

Para mais detalhes sobre as funções utilizadas, digite help(<nome.da.função>) no console do R (janela executável).