5.4 haven

Para ler arquivos gerados por outros softwares, como SPSS, SAS e STATA, você pode usar as funções do pacote haven. Este pacote faz parte do tidyverse e é um wrapper da biblioteca ReadStat, escrita em C.

É possível salvar ou escrever bases em SAS e STATA com as funções write_sas e write_dta.

Quando importamos arquivos gerados pelo SAS SPSS ou STATA para o R, os rótulos de uma variável podem não ser importados de forma correta. O pacote haven tem uma soluçao para este problema.

labelled() adiciona rótulos à valores de uma variável. Para verificar quais são estes rótulos, podemos usar a função print_labels().

## 
## Labels:
##  value label
##      1  Ruim
##      2   Bom
##      3 Otimo

Existe uma função similar a labelled(), exclusiva para o SPSS, que além de rotular as variáveis, também defini quais símbolos representam valores faltantes, dado que em SPSS pode haver mais de um tipo de missing.

## [1] FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE

Agora que já definimos os missings “especiais”, podemos transformá-los no missing padrão do R, representado pelo símbolo NA.

## <Labelled double>
## [1]  1  3 NA  2  2  1 NA  2 NA
## 
## Labels:
##  value label
##      1  Ruim
##      2   Bom
##      3 Otimo

Existem outras funções zap_ interessantes no pacote.

Após rotular os valores do vetor, podemos convertê-los, por exemplo, em fator. Para isso, usamos uma função do pacote haven. A função base as.factor() também poderia ser usada, mas quando a usamos, os rótulos não são considerados.

## [1] "1" "2" "3"
## [1] "Ruim"  "Bom"   "Otimo"

Curso-R