Como usar a função sink() em R

Você pode usar a função sink() em R para enviar os dados para conexões externas.

Olá pessoal, hoje vamos explorar as aplicações da função sink() em R. Vamos tentar estabelecer conexões em vários formatos, como texto e tipos de arquivos csv.

Usando a função sink(), você pode imprimir os dados ou exportar os dados ou a saída do R para tipos de arquivos de texto ou CSV.

Vamos ver como funciona!


A sintaxe da função sink() em R

Sink(): A função sink é usada para enviar a saída obtida em R para a conexão externa.

sink(file = NULL, type = c("output", "message"),split = FALSE)

Onde:

  • Arquivo = A conexão editável ou o tipo de arquivo.
  • Acrescentar = A função lógica usada para acrescentar os dados ao arquivo e evitar a sobrescrição.
  • Dividir = A saída será desviada para uma nova conexão ou link.

1. Configurando o diretório de trabalho

Com a ajuda da função sink(), você pode facilmente imprimir a saída no arquivo de texto como uma conexão. Podemos iniciar esse processo configurando o diretório de trabalho.

Para verificar o diretório de trabalho atual:

#retorna o diretório de trabalho atual
getwd()
"C:/Users/Dell/Desktop/rfiles"

Ótimo. Agora temos o diretório de trabalho. E você também pode alterar o diretório de trabalho usando,

#define o novo diretório de trabalho
setwd("The directory path here")

Cole o caminho na função setwd() para definir o novo diretório de trabalho. Depois disso, não se esqueça de confirmar as mudanças usando o comando ‘getwd()’ conforme mostrado acima.


2. Imprimindo os dados no arquivo de texto

I hope you are ready with your working path now. Now we are going to create a file connection and print some data into it.

Vamos ver como isso funciona.

#afunda os dados na conexão como arquivo de texto
sink("my_first_sink.txt")

#imprime números de 1 a 20
for (i in 1:20)
print(i)
sink()

Agora você pode ver como nossos dados R são impressos de forma organizada no arquivo de texto. Incrível, não é?


3. Exportando os dados para arquivo de texto

Na seção anterior, imprimimos os dados ou a saída no arquivo de texto. Nesta seção, vamos exportar o conjunto de dados completo disponível no R por padrão.

Vamos ver como funciona.

#exporta os dados como arquivo de texto
sink('export_dataframe.txt')
airquality
sink()

Você pode ver que os dados do conjunto de dados de qualidade do ar são enviados para o arquivo de texto como uma conexão externa.

É assim que você pode facilmente enviar os dados no R para conexões. Você também pode exportar como um arquivo CSV, como mostrado abaixo.


4. Exportando o quadro de dados para um arquivo CSV

Nesta seção, vamos enviar ou exportar os dados para um arquivo CSV usando a função sink() no R.

Vamos ver como funciona.

#exporta os dados como arquivo csv
sink('export_dataframe_1.csv')
iris
sink()

Bem, este é um arquivo CSV que inclui os dados exportados do console R. A função sink() no R oferece a maneira mais fácil de enviar os dados para conexões externas, como um arquivo.


Exportando o resumo dos dados para conexão

Até agora, tudo bem. Agora, vamos tentar aplicar o que aprendemos ou entendemos nas seções acima, todas juntas.

O enunciado do problema é simples.

=> Leia um conjunto de dados de sua escolha e obtenha um resumo dos dados usando a função summary(). Ao fazer isso, envie o resultado para o arquivo de texto como conexão.

Vamos lá!!!


1. Vamos ler os dados

# lê os dados
df<-datasets::airquality
df
View(df)

O primeiro passo no enunciado do problema está aqui. Você pode ver o conjunto de dados de qualidade do ar na imagem acima.


2. O summary() dos dados

O resumo dos dados usando a função summary() pode ser visto abaixo.

# retorna as principais informações dos dados
summary(airquality)
  Ozone           Solar.R           Wind             Temp           Month      
 Min.   :  1.00   Min.   :  7.0   Min.   : 1.700   Min.   :56.00   Min.   :5.000  
 1st Qu.: 18.00   1st Qu.:115.8   1st Qu.: 7.400   1st Qu.:72.00   1st Qu.:6.000  
 Median : 31.50   Median :205.0   Median : 9.700   Median :79.00   Median :7.000  
 Mean   : 42.13   Mean   :185.9   Mean   : 9.958   Mean   :77.88   Mean   :6.993  
 3rd Qu.: 63.25   3rd Qu.:258.8   3rd Qu.:11.500   3rd Qu.:85.00   3rd Qu.:8.000  
 Max.   :168.00   Max.   :334.0   Max.   :20.700   Max.   :97.00   Max.   :9.000  
 NA's   :37       NA's   :7                                                       
      Day      
 Min.   : 1.0  
 1st Qu.: 8.0  
 Median :16.0  
 Mean   :15.8  
 3rd Qu.:23.0  
 Max.   :31.0  

Esta é a síntese dos dados que mostra os valores mínimos e máximos, quartis, mediana, média e mais insights.

3. Direcionando a saída para a conexão

Agora, tudo que você precisa fazer é exportá-lo para um arquivo de texto e torná-lo uma conexão externa.

#direcione os dados de saída para o arquivo txt
sink('problem-solution.txt')
summary(airquality)
sink()


4. Encerre a conexão

Você seguiu todos os passos corretamente e conduziu com sucesso os dados para um arquivo de texto como uma conexão externa.

Agora é hora de encerrar a conexão.

#encerra a conexão 
unlink('problem-solution.txt')

O comando acima irá excluir a conexão do arquivo.

Para resumir todos os passos,

  • Leia os dados no console R.
  • Aplicar a função summary() aos dados.
  • Obter insights chave sobre os dados.
  • Conduza as descobertas para o arquivo de texto usando a função sink() no R.

Concluindo

A função sink() em R direciona a saída do R para a conexão externa. Você pode exportar os dados em várias formas, como arquivos de texto e CSV. Você pode imprimir os dados na conexão ou exportar diretamente todos os dados para ela.

Após a transferência de dados, você pode desvincular a conexão para encerrar o arquivo.

A função sink() em R é útil de várias maneiras, pois oferece conexões temporárias para trabalhar com dados.

Mais leitura: Documentação do R

Source:
https://www.digitalocean.com/community/tutorials/sink-function-in-r