Skip to content

Implementing ID as is done in R#158

Open
lauratregadas wants to merge 12 commits intomainfrom
pnadc_panel
Open

Implementing ID as is done in R#158
lauratregadas wants to merge 12 commits intomainfrom
pnadc_panel

Conversation

@lauratregadas
Copy link
Member

@lauratregadas lauratregadas commented Oct 15, 2025

Currently, our PNADC panel in R outperforms the one in Stata. This doesn't make sense as they should be implementing the same methodology by Ribas & Soares (2008). This pull request completely changes the way we create the identifiers in Stata, replicating the (much simpler) process adopted in R.

We need someone to

  1. Check if this actually runs and builds the desired variables id_dom, id_ind and id_rs
  2. Check what we are discarding methodology-wise. Of course, it will forever be stored thanks do GH's version-control tools. If need be, we can also go back and check

@geronimopulitini
Copy link
Contributor

Testei e gerou o mesmo resultado nos dois códigos. Contudo, tive a impressão que o código com as implementações desse commit #158 rodou bem mais rápido.

Dois problemas o stata não estava reconhecendo a variavel aux_ind e por isso troquei pela aux_id que já estava sendo usada, além disso o codigo se encerrava no inicio por causa de um exit prematuro.
O codigo juntava arquivos que não existiam e nem tinham sido criados
o codigo antigo tentava substituir numero por texto (replace id_ind) e o idrs chamava o idbas errado.
Baseado na metodologia antiga
Tem um "" desnecessário.
Alterando o tipo da variavel V1014
Não estavam sendo gerados corretamente.
Este commit corrige a detecção dos limites de painel (min/max V1014), reconstrói corretamente a lista de arquivos de painel, restaura a lógica de seleção de identificação da interface gráfica, e altera o comportamento dos identificadores para que sejam salvos diretamente nos arquivos de painel.
Também adiciona limpeza de variáveis internas (__*), melhora a robustez na leitura de V1014 e uniformiza o fluxo entre identificação básica e avançada.
Essas mudanças corrigem problemas como criação de painel inexistente (0), falhas de carregamento de arquivos (r(198)), arquivos de painel sem identificadores.
 exclusão das variaveis temporarias que estavam vazando para o dta salvo
Seguindo como é feito no R, o id_ind foi transformado de string para float, assim como uma separação de id_ind (basic) para id_rs (avançado) e foram feitos outros diversos ajustes pequenos.
IDs passaram a ser calculados integralmente em formato numérico e convertidos para string apenas no final. O identificador básico (id_ind) e o avançado (id_rs) agora são distintos e não híbridos, ambos entregues no padrão "Painel_NumeroID" (exemplo "11_2203", sendo um id do painel 11).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants