Skip to content

Update Adv_3 Method to prevent invalid discards#99

Draft
Vanndher wants to merge 1 commit into
masterfrom
update_adv_3
Draft

Update Adv_3 Method to prevent invalid discards#99
Vanndher wants to merge 1 commit into
masterfrom
update_adv_3

Conversation

@Vanndher

@Vanndher Vanndher commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Descrição:
Este Pull Request introduz uma atualização lógica no pipeline de identificação longitudinal da PNADC (build_pnadc_panel.R), especificamente no estágio de pareamento Fuzzy (Avançado 3).

A modificação resolve uma vulnerabilidade crítica diagnosticada pela equipe (conforme alinhamento e documento de 15 de julho de 2026), onde o algoritmo descartava indivíduos válidos devido à falha na regra de exclusividade de candidatos (n() == 1).

Problema:
Anteriormente, o Avançado 3 ignorava o histórico de sucesso do indivíduo no Avançado 2. Ao buscar no espectro temporal completo, o código encontrava múltiplos candidatos válidos (incluindo aqueles já pareados com sucesso anteriormente), gerando um "empate fantasma". Como a regra exige apenas um candidato único, o empate forçava o descarte de todas as observações relacionadas àquele indivíduo, inflando artificialmente o atrito do painel nas ondas subsequentes.

Modificações Realizadas:
A solução adotada aplica um filtro de precedência (Regra 2) no fluxo de dados gerado pelo dplyr, executado logo após o self-join (nest) e estritamente antes do filtro de contagem de candidato único:

  1. Inclusão de Variável: O identificador id_rs2 foi adicionado à seleção do bloco candidates para permitir a verificação de histórico.
  2. Filtro de Preferência: Implementado um group_by(row_id.A, Ano.B, Trimestre.B) seguido de um condicional lógico if (any(id_rs2.A == id_rs2.B, na.rm = TRUE)).
  3. Lógica de Desempate: Se existe um candidato no lote com o mesmo id_rs2 da observação alvo (ou seja, um match prévio consolidado), ele é mantido e os concorrentes são descartados. Se não houver histórico, todos os candidatos avançam normalmente para a checagem de exclusividade.

@Vanndher Vanndher changed the title Update build_pnadc_panel.R Update Adv_3 Method to prevent invalid discards Jul 20, 2026
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.

1 participant