Aula 14 - Importando e Exportando dados

Usaremos Batista e Oliveira (2021):

R (Chambers, 2016): “Interfaces para outros programas são parte do R”;R como um ambiente para a computação estatística, esta ferramenta se tornou tão versátil que hoje torna humilde essa definição;R interagir com outros softwares, linguagens, etc., é muito grande, e assim pode se tornar complexo a importação e exportação de dados;
S, SPSS, SAS, Minitab, Python, EXCEL, SQL, …R, com o uso do R Markdown!shiny.Limitaremos a:
<>.txt, <>.csv;<>.xls, <>.xlsx;R…read.table()data.frame com os dados importadosRStudio tem alguns recursos que podem facilitar a importação de dadosNo banco de dados, sempre:
Sugestões ao banco de dados:
segundavariavel (mau escolha), segvar (boa escolha), seg_var (boa escolha);_”, por exemplo, var 2 (mau escolha), var2 (boa escolha), var_2 (boa escolha);R), e isto pode causar possíveis conflitos na interpretação dos dados.Usando o console:
Vamos usar o R para verificar este comando!
<>.csv:
<>.txt:
EXCEL: <>.xls, <>.xlsx - pacotes: readxl, writexl!Exemplos:
RStudio



Rsetwd(), getwd(), read.table()read.table():
file: banco de dados;header: argumento lógico, se header = TRUE, então implica dizer que as variáveis estão identificadas por um nome, isto é, a primeira linha do banco de dados representa o nome das variáveis; se header = FALSE (padrão), caso contrário;Rread.table():
sep: separador de variáveis nas colunas, o padrão é sep = "", isto é, sem espaços; no caso de arquivos de extensão: <>.csv, geralmente, usamos para este argumento sep = ";", identificando que a separação das variáveis está representada por “;”;dec: separador de casas decimais, sendo o padrão dec = ".".# Diretorio
getwd()
# Mudando para o diretorio de interesse
setwd('C:/eambr01')
# Verificando os arquivos no diretorio de trabalho
list.files()
# Importando os dados apontando para o diretorio do arquivo
dados1 <- read.table(file = 'C:/eambr01/alfafa.txt', header = TRUE)
# Considerando que o arquivo esta no diretorio de
# trabalho, isto eh, getwd()
dados2 <- read.table('alfafa.txt', header = TRUE)
# Importando os dados com decimais com ',' apontando para o diretorio do arquivo
dados3 <- read.table(file = 'C:/eambr01/dadost1980.txt', header = TRUE, dec = ',')
# Considerando que o arquivo esta no diretorio de
# trabalho, isto eh, getwd()
dados4 <- read.table(file = 'dadost1980.txt', header = TRUE, dec = ',')
# Importando os dados com decimais ',', e separados por ';' apontando para o diretorio do arquivo
dados5 <- read.table(file = 'C:/eambr01/producao.csv', header = TRUE, dec = ',', sep = ';')
# Considerando que o arquivo esta no diretorio de
# trabalho, isto eh, getwd()
dados6 <- read.table(file = 'producao.csv', header = TRUE, dec = ',', sep = ';')
# Importando da internet
dados7 <- read.table(file = 'https://raw.githubusercontent.com/bendeivide/book-eambr01/main/files/alfafa.txt', header = TRUE)Extensões exportadas:
<>.txt: Pacote nativo utils<>.xlsx: Pacote writexlxtableFunções usadas: utils::write.table(), writexl::write_xlsx(), xtable::xtable()
# Instalando e/ou carregando o pacote 'readxl'
#install.packages('readxl') # Se nao tiver instalado!
library('readxl')
# Vendo exemplos de arquivo no pacote
readxl_example()
# Caminho do arquivo
arquivo_xlsx <- readxl_example('datasets.xlsx')
# Estrutura de dado 'tibble'
dado <- read_excel(arquivo_xlsx); dado
# Estrutura de dado 'quadro de dado (data frame)'
head(as.data.frame(dado))
# Arquivo temporario
x <- tempfile(pattern = 'dados', fileext = '.txt')
# Objeto
d <- data.frame(x = 1, y = 1:10)
# Exportando os dados
write.table(d, file = x, sep = '\t', quote = FALSE, row.names = FALSE)
# sep = '\t' => representa uma TAB entre as colunas
# file = x => Essa saida foi um arquivo temporario, mas se desejar exportar os dados para um arquivo especifico, em um diretorio específico, basta inserir esse caminho entre
#aspas, por exemplo, file = 'C:\dados.txt'
# Abrindo o arquivo
file.show(x)# Dados do pacote nativo 'datasets'
library('datasets')
dados <- head(cars); dados # Quadro de dados (Data frame)
# Instalando e/ou carregando writexl
install.packages('writexl')
library(writexl)
# Diretorio de trabalho
dirtrab <- getwd()
# Nome do arquivo
nome <- 'dados.xlsx'
# Caminho
caminho <- paste(dirtrab, nome, sep = '/')
# Exportando esses dados para um '.xlsx'
file <- writexl::write_xlsx(dados, caminho)
# Mortrando o arquivo
file.show(file)
# Vamos criar agora listas de quadro de dados
d1 <- head(cars); d1 # valores iniciais de 'cars'
d2 <- tail(cars); d2 # valores finais de 'cars'
lista <- list(elem01 =d1, elem02 =02); lista
# Diretorio de trabalho
dirtrab <- getwd()
# Nome do arquivo
nome <- 'lista.xlsx'
# Caminho
caminho <- paste(dirtrab, nome, sep = '/')
# Exportando esses dados para um '.xlsx'
file <- writexl::write_xlsx(lista, caminho)
# Mortrando o arquivo
file.show(file)

Comandos no R:
Saída no console:
\begin{table}[ht]
\centering
\begin{tabular}{rrrr}
\hline
& mpg & cyl & disp \\
\hline
Mazda RX4 & 21.00 & 6.00 & 160.00 \\
Mazda RX4 Wag & 21.00 & 6.00 & 160.00 \\
Datsun 710 & 22.80 & 4.00 & 108.00 \\
Hornet 4 Drive & 21.40 & 6.00 & 258.00 \\
Hornet Sportabout & 18.70 & 8.00 & 360.00 \\
Valiant & 18.10 & 6.00 & 225.00 \\
\hline
\end{tabular}
\end{table}Sugestões, perguntas, críticas…
