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
- Use o argumento n_max para retornar n linhas
- 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
- soma
- 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") |