Skip to Content

Como carregar uma base de dados do SPSS no R

Ciência Política Microdados SPSS


Hoje vamos ler arquivos do SPSS no R. A base de dados utilizada neste exemplo será sobre a votação do Impeachment na Câmara dos Deputados.

O banco de dados com extensão **"*.SAV"** (formato spss) da votação de admissibilidade do processo de Impeachment da Presidente Dilma Rousseff na Câmara dos Deputados, no dia 17 de abril de 2016 está disponível aqui. Nosso trabalho será:

  1. Carregar a base de dados no R,
  2. Criar um dicionário de dados a partir dos rótulos do SPSS, e
  3. Observar os rótulos das variáveis (exemplo: 1 - Feminino, 2 - Masculino)

Baixar os dados e carregar o banco de dados

library(haven)

banco<-read_spss(url("https://github.com/DATAUNIRIO/Base_de_dados/raw/master/Dilma%20Rousseff%20s%20Impeachment%20in%20the%20Brazilian%20Chamber%20of%20Deputies/bd_vot_impeachment.sav"))

Criar um dicionário de dados

nomes<-names(banco)
nomes <- data.frame(nomes)

rotulos_perguntas<-lapply(banco, function(x) attributes(x)$label)
rotulos_perguntas <- data.frame(matrix(unlist(rotulos_perguntas), nrow=length(rotulos_perguntas), byrow=T))

dicionario<-data.frame(nomes,rotulos_perguntas)

Observar os rótulos das variáveis

Ao criar um tabela, encontramos:

table(banco$sexo)
## 
##   1   2 
## 468  45

Qual o sexo igual a “um” e qual o sexo igual a “dois”? Precisamos encontrar o rótulo da variável no SPSS. Isso pode ser facilmente encontrado com o código abaixo:

print_labels(banco$sexo)
## 
## Labels:
##  value     label
##      1 Masculino
##      2  Feminino

Exportação

Se quiser, você pode exportar os arquivos para o Excel do seguinte modo:

dados<-list(banco,dicionario)
writexl::write_xlsx(dados,path = "Meu_arquivo_spss_no_excel.xlsx")