Importar dados para R: ler arquivos CSV, Excel, SPSS, Stata, SAS

Índice:

Anonim

Os dados podem existir em vários formatos. Para cada formato, R tem uma função e um argumento específicos. Este tutorial explica como importar dados para R.

Neste tutorial, você aprenderá

  • Leia CSV
  • Leia arquivos do Excel
  • readxl_example ()
  • read_excel ()
  • excel_sheets ()
  • Importar dados de outro software estatístico
  • Leia sas
  • Leia STATA
  • Leia SPSS
  • Práticas recomendadas para importação de dados

Leia CSV

Um dos armazenamentos de dados mais amplamente utilizados são os formatos de arquivo .csv (valores separados por vírgula). R carrega uma série de bibliotecas durante a inicialização, incluindo o pacote de utilitários. Este pacote é conveniente para abrir arquivos csv combinados com a função reading.csv (). Aqui está a sintaxe para read.csv

read.csv(file, header = TRUE, sep = ",")

Argumento :

  • arquivo : PATH onde o arquivo está armazenado
  • cabeçalho : confirme se o arquivo possui cabeçalho ou não, por padrão, o cabeçalho é definido como TRUE
  • sep : o símbolo usado para dividir a variável. Por padrão, `,`.

Leremos o nome do arquivo de dados mtcats. O arquivo csv é armazenado online. Se o seu arquivo .csv estiver armazenado localmente, você pode substituir o PATH dentro do trecho de código. Não se esqueça de embrulhar dentro de ''. O PATH precisa ser um valor de string.

Para o usuário mac, o caminho para a pasta de download é:

 "/Users/USERNAME/Downloads/FILENAME.csv"

Para usuário do Windows:

"C:\Users\USERNAME\Downloads\FILENAME.csv"

Observe que devemos sempre especificar a extensão do nome do arquivo.

  • .csv
  • .xlsx
  • .TXT
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <- read.csv(PATH, header = TRUE, sep = ',')length(df)

Resultado:

## [1] 12
class(df$X)

Resultado:

## [1] "factor"

R, por padrão, retorna valores de caractere como Fator. Podemos desligar essa configuração adicionando stringsAsFactors = FALSE.

PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <-read.csv(PATH, header =TRUE, sep = ',', stringsAsFactors =FALSE)class(df$X)

Resultado:

## [1] "character"

A classe para a variável X agora é um personagem.

Leia arquivos do Excel

Os arquivos do Excel são muito populares entre os analistas de dados. As planilhas são fáceis de trabalhar e flexíveis. R está equipado com uma biblioteca readxl para importar planilhas do Excel.

Use este código

require(readxl)

para verificar se readxl está instalado em sua máquina. Se você instalar r com r-conda-essential, a biblioteca já estará instalada. Você deve ver na janela de comando:

Resultado:

Loading required package: readxl. 

Se o pacote não sair, você pode instalá-lo com a biblioteca conda ou no terminal, usar conda install -c mittner r-readxl.

Use o seguinte comando para carregar a biblioteca para importar arquivos do Excel.

library(readxl)

readxl_example ()

Usamos os exemplos incluídos no pacote readxl durante este tutorial.

Use o código

readxl_example()

para ver todas as planilhas disponíveis na biblioteca.

Para verificar a localização da planilha chamada clippy.xls, basta usar

readxl_example("geometry.xls")

Se você instalar o R ​​com conda, as planilhas estarão localizadas em Anaconda3 / lib / R / library / readxl / extdata / filename.xls

read_excel ()

A função read_excel () é de grande utilidade quando se trata de abrir as extensões xls e xlsx.

A sintaxe é:

read_excel(PATH, sheet = NULL, range= NULL, col_names = TRUE)arguments:-PATH: Path where the excel is located-sheet: Select the sheet to import. By default, all-range: Select the range to import. By default, all non-null cells-col_names: Select the columns to import. By default, all non-null columns

Podemos importar as planilhas da biblioteca readxl e contar o número de colunas na primeira planilha.

# Store the path of `datasets.xlsx`example <- readxl_example("datasets.xlsx")# Import the spreadsheetdf <- read_excel(example)# Count the number of columnslength(df)

Resultado:

## [1] 5

excel_sheets ()

O arquivo datasets.xlsx é composto por 4 folhas. Podemos descobrir quais planilhas estão disponíveis na pasta de trabalho usando a função excel_sheets ()

example <- readxl_example("datasets.xlsx")

excel_sheets(example)

Resultado:

[1] "iris" "mtcars" "chickwts" "quakes"

Se uma planilha inclui muitas planilhas, é fácil selecionar uma planilha específica usando os argumentos da planilha. Podemos especificar o nome da folha ou o índice da folha. Podemos verificar se ambas as funções retornam a mesma saída com idêntico ().

example <- readxl_example("datasets.xlsx")quake <- read_excel(example, sheet = "quakes")quake_1 <-read_excel(example, sheet = 4)identical(quake, quake_1)

Resultado:

## [1] TRUE

Podemos controlar quais células ler de 2 maneiras

  1. Use o argumento n_max para retornar n linhas
  2. Use o argumento de intervalo combinado com cell_rows ou cell_cols

Por exemplo, definimos n_max igual a 5 para importar as primeiras cinco linhas.

# Read the first five row: with headeriris <-read_excel(example, n_max =5, col_names =TRUE)

Se alterarmos col_names para FALSE, R cria os cabeçalhos automaticamente.

# Read the first five row: without headeriris_no_header <-read_excel(example, n_max =5, col_names =FALSE)

iris_no_header

No quadro de dados iris_no_header, R criou cinco novas variáveis ​​chamadas X__1, X__2, X__3, X__4 e X__5

Também podemos usar o intervalo de argumentos para selecionar linhas e colunas na planilha. No código abaixo, usamos o estilo excel para selecionar o intervalo A1 a B5.

# Read rows A1 to B5example_1 <-read_excel(example, range = "A1:B5", col_names =TRUE)dim(example_1)

Resultado:

## [1] 4 2

Podemos ver que o example_1 retorna 4 linhas com 2 colunas. O conjunto de dados possui cabeçalho, por isso a dimensão é 4x2.

No segundo exemplo, usamos a função cell_rows () que controla o intervalo de linhas a serem retornadas. Se quisermos importar as linhas 1 a 5, podemos definir cell_rows (1: 5). Observe que, cell_rows (1: 5) retorna a mesma saída que cell_rows (5: 1).

# Read rows 1 to 5example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE)dim(example_2)

Resultado:

## [1] 4 5

O exemplo_2, entretanto, é uma matriz 4x5. O conjunto de dados da íris possui 5 colunas com cabeçalho. Retornamos as primeiras quatro linhas com cabeçalho de todas as colunas

Caso desejemos importar linhas que não comecem na primeira linha, devemos incluir col_names = FALSE. Se usarmos range = cell_rows (2: 5), torna-se óbvio que nosso quadro de dados não tem mais cabeçalho.

iris_row_with_header <-read_excel(example, range =cell_rows(2:3), col_names=TRUE)iris_row_no_header <-read_excel(example, range =cell_rows(2:3),col_names =FALSE)

We can select the columns with the letter, like in Excel.# Select columns A and Bcol <-read_excel(example, range =cell_cols("A:B"))dim(col)

Resultado:

## [1] 150 2 

Nota: range = cell_cols ("A: B"), retorna a saída de todas as células com valor não nulo. O conjunto de dados contém 150 linhas, portanto, read_excel () retorna linhas de até 150. Isso é verificado com a função dim ().

read_excel () retorna NA quando um símbolo sem valor numérico aparece na célula. Podemos contar o número de valores ausentes com a combinação de duas funções

  1. soma
  2. is.na

Aqui está o código

iris_na <-read_excel(example, na ="setosa")sum(is.na(iris_na))

Resultado:

## [1] 50

Faltam 50 valores, que são as linhas pertencentes à espécie setosa.

Importar dados de outro software estatístico

Vamos importar formatos de arquivos diferentes com o pacote heaven. Este pacote suporta softwares SAS, STATA e SPSS. Podemos usar a seguinte função para abrir diferentes tipos de conjunto de dados, de acordo com a extensão do arquivo:

  • SAS: read_sas ()
  • STATA: read_dta () (ou read_stata (), que são idênticos)
  • SPSS: read_sav () ou read_por (). Precisamos verificar a extensão

Apenas um argumento é necessário dentro dessas funções. Precisamos saber o PATH onde o arquivo está armazenado. Pronto, estamos prontos para abrir todos os arquivos do SAS, STATA e SPSS. Essas três funções também aceitam um URL.

library(haven)

paradise vem com conda r-essential caso contrário vá para o link ou no terminal conda install -c conda-forge r-haven

Leia sas

Para nosso exemplo, usaremos o conjunto de dados de admissão do IDRE.

PATH_sas <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sas7bdat?raw=true'df <- read_sas(PATH_sas)head(df)

Resultado:

## # A tibble: 6 x 4## ADMIT GRE GPA RANK##    ## 1 0 380 3.61 3## 2 1 660 3.67 3## 3 1 800 4.00 1## 4 1 640 3.19 4## 5 0 520 2.93 4## 6 1 760 3.00 2

Leia STATA

Para arquivos de dados STATA você pode usar read_dta (). Usamos exatamente o mesmo conjunto de dados, mas armazenamos no arquivo .dta.

PATH_stata <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.dta?raw=true'df <- read_dta(PATH_stata)head(df)

Resultado:

## # A tibble: 6 x 4## admit gre gpa rank##    ## 1 0 380 3.61 3## 2 1 660 3.67 3## 3 1 800 4.00 1## 4 1 640 3.19 4## 5 0 520 2.93 4## 6 1 760 3.00 2

Leia SPSS

Usamos a função read_sav () para abrir um arquivo SPSS. A extensão do arquivo ".sav"

PATH_spss <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sav?raw=true'df <- read_sav(PATH_spss)head(df)

Resultado:

## # A tibble: 6 x 4## admit gre gpa rank##    ## 1 0 380 3.61 3## 2 1 660 3.67 3## 3 1 800 4.00 1## 4 1 640 3.19 4## 5 0 520 2.93 4## 6 1 760 3.00 2

Práticas recomendadas para importação de dados

Quando queremos importar dados para R, é útil implementar a lista de verificação a seguir. Isso tornará mais fácil importar dados corretamente para o R:

  • O formato típico de uma planilha é usar as primeiras linhas como cabeçalho (geralmente o nome das variáveis).
  • Evite nomear um conjunto de dados com espaços em branco; pode levar à interpretação como uma variável separada. Como alternativa, prefira usar '_' ou '-.'
  • Nomes curtos são preferidos
  • Não inclua o símbolo no nome: ex: exchange_rate _ $ _ € não está correto. Prefiro nomear: exchange_rate_dollar_euro
  • Caso contrário, use NA para valores ausentes; precisamos limpar o formato mais tarde.

Resumo

A tabela a seguir resume a função a ser usada para importar diferentes tipos de arquivo em R. A coluna um indica a biblioteca relacionada à função. A última coluna se refere ao argumento padrão.

Biblioteca

Objetivo

Função

Argumentos Padrão

útil

Leia o arquivo CSV

read.csv ()

arquivo, cabeçalho =, VERDADEIRO, sep = ","

readxl

Ler arquivo EXCEL

read_excel ()

caminho, intervalo = NULL, col_names = TRUE

refúgio

Ler arquivo SAS

read_sas ()

caminho

refúgio

Ler arquivo STATA

read_stata ()

caminho

refúgio

Leia o arquivo SPSS

read_sav ()

caminho

A tabela a seguir mostra as diferentes maneiras de importar uma seleção com a função read_excel ().

Função

Objetivos

Argumentos

read_excel ()

Leia n número de linhas

n_max = 10

Selecione linhas e colunas como no Excel

intervalo = "A1: D10"

Selecione linhas com índices

intervalo = cell_rows (1: 3)

Selecione colunas com letras

range = cell_cols ("A: C")