Skip to content

Instantly share code, notes, and snippets.

@dankkom
Created July 20, 2022 11:42
Show Gist options
  • Save dankkom/220d9a69b99f5ef46151eb6880af2a10 to your computer and use it in GitHub Desktop.
Save dankkom/220d9a69b99f5ef46151eb6880af2a10 to your computer and use it in GitHub Desktop.
Decodifica a coluna de idade dos microdados do DATASUS
decodificar_datasus_idade <- function(nu_idade_n) {
nu_idade_n <- as.character(nu_idade_n)
nu_idade_n[nu_idade_n == "000" | nu_idade_n == "999"] <- NA
unidade <- substr(nu_idade_n, 1, 1)
idade <- ifelse(
unidade == 1,
as.numeric(substr(nu_idade_n, 2, 3)) / (24*365), # horas
ifelse(
unidade == 2,
as.numeric(substr(nu_idade_n, 2, 3)) / 365, # dias
ifelse(
unidade == 3,
as.numeric(substr(nu_idade_n, 2, 3)) / 12, # meses
ifelse(
unidade == 4,
as.numeric(substr(nu_idade_n, 2, 3)), # anos
ifelse(
unidade == 5,
100 + as.numeric(substr(nu_idade_n, 2, 3)),
NA
)
)
)
)
)
return(idade)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment