Aula 11 – Curso de R – Salvando arquivos e variáveis

 Aula 11 – Curso de programação em R

Salvando arquivos e variáveis

write.table

Salvando arquivos com write.table

Salvando arquivos com write.table

Antes, quero deixar meus links de afiliados pra vocês:

Hostinger

One.com

DigitalOcean

Se cadastrando, vocês poderão conhecer, usar e testar gratuitamente alguns recursos dos serviços oferecidos por eles.

Por favor, dêem um joinha 👍, curtam e compartilhem a página do Código Fluente no Facebook.

Pinterest:
https://br.pinterest.com/codigofluente/

Endereço para baixar os arquivos e o script:

https://github.com/toticavalcanti/curso_r

write.table

A função write.table escreve em um objeto, geralmente um data frame, mas, poderia ser outro tipo: vetor, matriz, …). Os argumentos e as opções são:

write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ", eol = "\n", na = "NA", dec = ".", row.names = TRUE, col.names = TRUE, qmethod = c("escape", "double"))

 

x

Nome do objeto a ser escrito

file

Nome do arquivo (por padrão, o objeto é exibido na tela)

append

Se TRUE adiciona os dados sem apagar aqueles possivelmente existentes no arquivo

quote

Valor lógico (VERDADEIRO ou FALSO) ou um vetor numérico. Se TRUE, qualquer coluna de caractere ou fator serão cercadas por aspas duplas( “” ),  isto é, string. Se for um vetor numérico, seus elementos são tomados como os índices das colunas. Em ambos os casos, os nomes de linhas e colunas são colocados entre aspas( “” ) se forem escritos. Se FALSE, nada é colocado entre aspas ( “” ), ou seja, nada será string.

sep

Separador de campo usado no arquivo

eol

Caractere usado no final de cada linha (“\n” é um carriage-return)

na

Caractere usado para dados ausentes

dec

Caractere usado para o ponto decimal

row.names

Valor lógico indicando se os nomes de linha de x devem ser gravados com x ou se um vetor de caracteres de nomes de linhas deve ser gravado

col.names

Valor lógico indicando se os nomes das colunas de x devem ser escritos junto com x, ou se um vetor de caracteres de nomes de colunas deve ser escrito.

qmethod

Especifica como lidar com cadeias de caracteres que contenham aspas duplas incorporadas nos campos de caracter ou de fatores (campos categóricos).

qmethod = “escape” para fazer o escape da com \”

qmethod = “double” para fazer o escape da com “”

write

Maneira simples de escrever dados em arquivos

Para escrever de maneira mais simples um objeto em um arquivo, o comando: write(x, file = “data.txt”) pode ser usado, onde x é o nome do objeto (que pode ser um vetor ou uma matriz).

Existem duas opções: nc (ou ncol) que define o número de colunas no arquivo, por padrão, nc = 1 se x é de modo caractere, nc = 5 para os outros modos e append (um lógico), para adicionar os dados sem excluir os que já estão no arquivo (TRUE) ou excluí-los se o arquivo já existe (FALSE), que é o padrão.

Os objetos podem ser lidos de volta do arquivo em uma data posterior usando a função load ou attach (ou data em alguns casos).

save

O save grava uma representação externa de objetos R no arquivo especificado.

A função save.image("arquivo") é um atalho para save(list = ls(all = TRUE), file = "arquivo.RData").

Então, se quiser, por exemplo, salvar tudo que tá na memória, as variáveis todas, do jeito que tá nesse momento, é só usar o atalho: save.image()

save.image("data.RData")

É a mesma coisa que:

save(list = ls(all = TRUE), file = "data.RData")

Para gravar um grupo de objetos de qualquer tipo, podemos usar o comando

save(x, y, z, file = "xyz.RData").

Para facilitar a transferência de dados entre diferentes máquinas, a opção ascii = TRUE pode ser usada.

Os dados (que são agora chamados de espaço de trabalho no jargão do R), podem ser carregados mais tarde na memória com load(“xyz.RData”), ou seja, ele salva as variáveis no .RData e recupera com o load.

Exemplos na prática


#remove os objetos que estão na memória
rm(list = ls ())

#Pega o path do work directory
getwd()

#Define o path do work directory
setwd("C:/sua_pasta/R_projects/curso_r/")

#Cria e popula o dataframe de exemplo 
exemplo_df <- data.frame(coluna_de_strings = c("primeira string", "segunda string", "terceira string"), 
                        coluna_de_valores = c(1,3,5) )

#------------write.table------------------#

#Exemplo com col.names = TRUE
#Vai escrever o nome das colunas e das linhas no arquivo.
write.table(exemplo_df, file = "write_table_exemplo01.csv", sep = ",", col.names = TRUE, 
            qmethod = "double")

#Exemplo com row.names = FALSE, col.names = False
#Não vai escrever nem o nome das colunas nem das linhas no arquivo
write.table(exemplo_df, file = "write_table_exemplo_02.csv", sep = ",", row.names = FALSE, 
            col.names = FALSE, qmethod = "double")

#------------write------------------#

#Cria uma matriz de 2 linhas e 3 colunas com  
#10 elementos numéricos (de 1 a 10), chamada mat
mat <- matrix(1:10, ncol = 5)

#Cria e escreve no arquivo dados_mat.txt a matriz mat,
#usando tabulação como separador
write(mat , file = "dados_mat.txt", sep = "\t")

#--------save.image, save e load(".RData")---------------#

#--------save.image()------------------------#

#Salva as variáveis na memória 
save.image("save_image_example.RData")

#remove os objetos que estão na memória
rm(list = ls ())

#Carrega de volta os objetos que estavam na memória
load("save_image_example.RData")

#remove os objetos que estão na memória
rm(list = ls ())

#----Mesma coisa só que usando o save ao invés do save.
#Mesma coisa do save.image()
save(list = ls(all = TRUE), file = "data02.RData")

#Limpa a memória
rm(list = ls ())

#Carrega de volta os objetos que estavam na memória
load("data02.RData")

#----------------save-------------------------#

#Limpa a memória
rm(list = ls ())

#Cria 3 objetos
x <- "String 01"
y <- rnorm(200)
z <- 97

# salva 
save(x, y, z, file = "xyz.RData")

#Limpa novamente a memória
rm(x, y, z)

#Carrega as variáveis de volta
load("xyz.RData")

 

Ficamos por aqui e na próxima aula veremos como gerar dados no R, como pegar dados do teclado, como gerar sequências, etc.

Endereço para baixar os arquivos e o script:

https://github.com/toticavalcanti/curso_r

Novamente deixo meus links:

Hostinger

One.com

DigitalOcean

Se cadastrando por ele, você ganha $100.00 dólares de crédito lá na digitalocean.

Por favor, dêem um joinha 👍, divulguem, compartilhem a página do Código Fluente no Facebook

Pinterest:
https://br.pinterest.com/codigofluente/

Obrigado, até a próxima e bons estudos. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>