Cómo usar la función sink() en R

Puedes usar la función sink() en R para dirigir los datos a conexiones externas.

Hola gente, hoy vamos a analizar las aplicaciones de la función sink() en R. Vamos a intentar establecer conexiones en múltiples formatos como texto y tipos de archivos csv.

Usando la función sink(), puedes imprimir los datos o exportar los datos o la salida de R a archivos de texto o CSV.

¡Veamos cómo funciona!


La sintaxis de la función sink() en R

Sink(): La función sink se utiliza para dirigir la salida obtenida en R a la conexión externa.

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

Donde:

  • Archivo = La conexión editable o el tipo de archivo.
  • Añadir = La función lógica utilizada para añadir los datos al archivo para evitar la sobrescritura.
  • Dividir = La salida se desviará a una nueva conexión o enlace.

1. Configuración del directorio de trabajo

Con la ayuda de la función sink(), puedes imprimir fácilmente la salida en el archivo de texto como una conexión. Podemos iniciar este proceso configurando el directorio de trabajo.

Para verificar el directorio de trabajo actual:

 # devuelve el directorio de trabajo actual 
getwd()
"C:/Users/Dell/Desktop/rfiles"

Bien. Ahora tenemos el directorio de trabajo. Y también puedes cambiar el directorio de trabajo usando,

 # establece el nuevo directorio de trabajo 
setwd("The directory path here")

Pega la ruta en la función setwd() para establecer el nuevo directorio de trabajo. Después de eso, no olvides confirmar los cambios usando el comando ‘getwd()’ como se muestra arriba.


2. Imprimir los datos en el archivo 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.

Veamos cómo funciona.

 # hunde los datos en la conexión como archivo de texto 
sink("my_first_sink.txt")

 # imprime números del 1 al 20 
for (i in 1:20)
print(i)
sink()

Ahora puedes ver lo ordenados que están nuestros datos de R impresos en el archivo de texto. ¿Genial, verdad?


3. Exportar los datos en un archivo de texto

En la sección anterior, hemos impreso los datos o la salida al archivo de texto. En esta sección, vamos a exportar el conjunto de datos completo que está disponible en R por defecto.

Vamos a ver cómo funciona.

#exporta los datos como archivo de texto
sink('export_dataframe.txt')
airquality
sink()

Puedes ver que los datos del conjunto de datos de calidad del aire se envían al archivo de texto como una conexión externa.

Así es como puedes llevar fácilmente los datos en R a conexiones externas. También puedes exportar como archivo CSV como se muestra a continuación.


4. Exportando el marco de datos a un archivo CSV

En esta sección, vamos a llevar o exportar los datos a un archivo CSV usando la función sink() en R.

Vamos a ver cómo funciona.

#exporta los datos como archivo csv
sink('export_dataframe_1.csv')
iris
sink()

Bueno, este es un archivo CSV que incluye los datos exportados desde la consola de R. La función sink() en R ofrece la forma más fácil de llevar los datos a conexiones externas como un archivo.


Exportando el resumen de los datos a la conexión

Hasta ahora, todo bien. Ahora, intentemos aplicar lo que hemos aprendido o entendido en las secciones anteriores todos juntos.

La declaración del problema es simple.

=> Lee un conjunto de datos de tu elección y obtén un resumen de los datos usando la función summary(). Después de hacer eso, lleva el resultado al archivo de texto como conexión.

¡¡¡Vamos a rockear!!!


1. Vamos a leer los datos

# lee los datos
df<-datasets::airquality
df
View(df)

El primer paso en la declaración del problema está aquí. Puedes ver el conjunto de datos de calidad del aire en la imagen anterior.


2. El summary() de los datos

El resumen de los datos usando la función summary() se puede ver a continuación.

# devuelve las ideas clave de los datos
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 es la síntesis de los datos que muestra los valores mínimo y máximo, los cuartiles, la mediana, la media y más información.

3. Dirigir la salida a la conexión

Ahora, todo lo que necesitas hacer es exportarlo a un archivo de texto y configurarlo como una conexión externa.

#dirigir los datos de salida a un archivo de texto
sink('problem-solution.txt')
summary(airquality)
sink()


4. Finalizar la conexión

Has seguido todos los pasos correctamente y has dirigido con éxito los datos a un archivo de texto como una conexión externa.

Ahora es el momento de finalizar la conexión.

#terminar la conexión
unlink('problem-solution.txt')

El comando anterior eliminará la conexión del archivo.

Para resumir todos los pasos,

  • Lee los datos en la consola de R.
  • Aplica la función summary() a los datos.
  • Obtén ideas clave sobre los datos.
  • Dirige los hallazgos al archivo de texto usando la función sink() en R.

Conclusión

La función `sink()` en R dirige la salida de R a la conexión externa. Puedes exportar los datos en múltiples formas, como archivos de texto y CSV. Puedes imprimir los datos en la conexión o exportar directamente todos los datos a ella.

Después de la transferencia de datos, puedes desvincular la conexión para finalizar el archivo.

La función `sink()` en R es útil de diversas maneras, ya que proporciona conexiones temporales para trabajar con datos.

Más información: Documentación de R

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