suponha que tenha o seguinte conjunto de dados
data DB;
input ID :$20. morbidity;
cards;
0001 1
0001 1
0001 0
0001 2
0002 2
0002 0
0002 2;
run;
Existe uma maneira de obter o seguinte?
data DB1;
input ID :$20. morbidity;
cards;
0001 1
0001 1
0001 0
0001 0
0002 2
0002 0
0002 2;
run;
Em outras palavras, se o paciente tiver pelo menos uma vez morbidade = 1, todas as vezes restantes morbidade = 2 devem se tornar 0.
Agradeço antecipadamente.
Melhor
Uma maneira fácil de fazer isso seria com uma consulta de tabela hash para todos os IDs que têm uma morbidade de 1. Se o valor de um ID na tabela corresponder ao valor de um ID na tabela hash e o valor de morbidade for 2, então defina-o como 0. Em outras palavras, se tivermos alguma correspondência com um ID nesta tabela de consulta que contenha apenas IDs com pelo menos um valor de
morbidity = 1
:Então sabemos que morbidity = 1 em algum ponto para o ID na
set
tabela que estamos lendo. Já que encontramos essa correspondência, podemos verificar se o valor de morbidity é 2. Se for, defina-o como 0.