Importación y exportación de datos
Durante las secciones anteriores del tutorial, se ha estado trabajando con datos que han sido generados por el propio usuario, para facilitar la introducción al lenguaje R. Los siguientes apartados del tutorial podrán requerir datos externos para profundizar en temas más específicos que tratan sobre la manipulación de datos. Esto acerca al usuario a un entorno más real, ya que el uso de lenguajes de programación en la mayoría de los ámbitos está dirigido hacia el procesamiento de datos masivos.
R base proporciona diferentes funciones de importación de datos procedentes de una amplia variedad de tipos de archivo. Además, las diferentes posibilidades de importación se incrementan con paquetes específicos. De forma similar, sería posible la exportación de datos de nuestra sesión de R a archivos disponibles en el ordenador. A lo largo de este apartado se emplearán ejemplos que requieren determinados archivos: datos_tutorial, csv_tutorial y excel_tutorial. Puede descargarlos y guardarlos en su directorio de trabajo antes de continuar.
Importación de tablas¶
El método de importación de tablas se realiza usando la función read.table()
, que devolvería un data frame. Existen diferentes modelos de archivos que contienen tablas. Uno de los más extendidos es la extensión .csv, siglas en inglés que le deben el nombre a Comma Separated Values, denominación que indica la disposición interna de los datos, separados por comas. La importación de .csv por read.table()
requiere de indicaciones mediante argumentos de la función. Los argumentos más importantes que posee son: file (ruta del archivo a importar), header (interpreta los encabezados como nombres de columnas), sep (caracter separador de columnas), col.names (nombres de las columnas) y stringAsFactors (convierte datos de texto en factores). El otro modo de importar .csv sin necesidad de realizar indicaciones básicas del formato de archivo es mediante la función read.csv()
, que está preparada para las características de este tipo de archivos.
Ejemplos
1 2 3 |
|
Sin duda, los formatos más extendidos entre los estudiantes son .xls y .xlsx, propios del programa Microsoft Excel. R base no contiene funciones que importen dichos archivos, pero se puede lograr a través del paquete readxl, contenido en la biblioteca tidyverse, mencionada en Conceptos básicos, donde se explica el modo de cargar estas herramientas (library("readxl")
). La función de readxl que importa archivos Excel es read_excel()
. En ella se pueden utilizar argumentos como path (ruta del archivo a importar), sheet (pestaña a importar), range (rango de celdas a importar) y col_names (encabezados de las columas). Otra función que sirve de ayuda es excel_sheets()
, que consulta el nombre de las pestañas del archivo Excel.
Ejemplos
1 2 3 |
|
En ocasiones, el archivo a importar puede contener una disposición de los datos desconocida, por lo que visualizar su contenido ayudaría a conocer las características que deben incluir los argumentos de las funciones anteriores para una importación correcta y deseada. El modo más simple de observar aquello que conforma el archivo es empleando la función file.show()
. Si bien, se puede contemplar de otros modos como, por ejemplo, línea por línea, a partir de la función readLines()
, que devuelve un vector de cadenas de las líneas que constituyen el archivo. Ambas funciones requieren el nombre del archivo entre comillas.
Ejemplos
1 2 |
|
Exportación de tablas¶
Para exportar tablas, ya sean matrices o data frames, se puede utilizar la función write.table()
, donde se requiere los argumentos x y file, para el nombre del objeto y del archivo a crear, y también se emplea sep para indicar la separación de los datos entre columnas. Si bien, se puede exportar en formato .csv mediante la función write.csv()
. En cuanto a la exportación en formato Excel, es necesario instalar el paquete writexl, el cual presenta la función write_xlsx()
para llevar a cabo dicha acción.
Ejemplos
1 2 3 4 5 |
|
Importación y exportación de objetos de una sesión de R¶
Por otro lado, se puede exportar todo tipo de objetos de nuestra sesión mediante las funciones saveRDS()
y save()
, que generan archivos de extensión .rds y .Rdata, y pueden ser abiertos únicamente por R mediante readRDS()
y load()
, respectivamente. La principal diferencia entre ellas radica en que save()
permite guardar más de un objeto. Si no son asignados a una variable solamente se podrá obervar su contenido en el terminal.
Ejemplos
1 2 3 4 |
|
Enlaces de interés
-
Material del curso Informática aplicada a la Bioquímica. Manuel Jesús Marín Jiménez, Universidad de Córdoba.