5  Importación de datos

La importación de datos constituye una etapa esencial en el proceso de análisis estadístico, ya que posibilita el acceso y la manipulación de información proveniente de diversas fuentes, tales como archivos en formato CSV, hojas de cálculo de Excel o datos disponibles en páginas web. El entorno R ofrece un conjunto robusto de funciones y paquetes especializados que permiten realizar la importación de datos de manera eficiente, reproducible y escalable, facilitando así el manejo de grandes volúmenes de información y promoviendo la integridad y trazabilidad de los análisis (R Core Team, 2023; Grolemund & Wickham, 2017).

5.1 Configuración previa: el directorio de trabajo

Previo a la importación de datos, resulta imprescindible verificar y establecer correctamente el directorio de trabajo. El directorio de trabajo, conocido en inglés como working directory, corresponde a la carpeta desde la cual R accede a los archivos de entrada y en la que almacena los resultados generados. Una adecuada configuración de este directorio contribuye significativamente a la organización y eficiencia del flujo de trabajo (Bryan, 2018; Gentleman & Temple Lang, 2007).

En el caso de utilizar proyectos de RStudio (.Rproj), el directorio de trabajo se define automáticamente al abrir el proyecto. Esta acción simplifica la gestión de archivos y minimiza la probabilidad de errores relacionados con rutas de acceso. No obstante, cuando se trabaja con scripts independientes, es necesario establecer manualmente el directorio de trabajo mediante la función setwd(). Por ejemplo:

# Establecer directorio de trabajo
setwd("ruta/del/directorio")

La correcta configuración del directorio de trabajo previene errores frecuentes, como el mensaje “archivo no encontrado”. Además, garantiza que el código sea portable y replicable en distintos sistemas o ubicaciones (Bryan, 2018).

5.1.1 Automatización del directorio de trabajo en scripts independientes

Para scripts que no están asociados a un proyecto de RStudio, es posible automatizar la configuración del directorio de trabajo utilizando el paquete rstudioapi. Este enfoque permite establecer como directorio de trabajo la carpeta en la que se encuentra guardado el script. Esto facilita la portabilidad y la colaboración entre diferentes usuarios y equipos (Bryan, 2018).

El siguiente fragmento de código ilustra este procedimiento:

# Instalación y carga del paquete rstudioapi
if (!require("rstudioapi")) install.packages("rstudioapi")

# Linea empleada para establecer  el directorio de trabajo
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))

Este código verifica si el paquete rstudioapi está instalado y, en caso contrario, lo instala automáticamente. Posteriormente, obtiene la ruta del script en ejecución y la utiliza para definir el directorio de trabajo. Esto permite el acceso a los archivos de la carpeta sin necesidad de especificar rutas absolutas.

5.1.2 Verificación y buenas prácticas

Antes de proceder con la importación de datos o el almacenamiento de resultados, se recomienda verificar el directorio de trabajo actual mediante la función getwd():

# Verificación del directorio de trabajo actual
getwd()

Adicionalmente, es aconsejable guardar el script antes de ejecutar la configuración automática del directorio. R requiere conocer la ubicación del archivo para establecer correctamente el entorno de trabajo.

Siempre que sea posible, se sugiere trabajar dentro de un proyecto de RStudio. Esta práctica automatiza la gestión del directorio de trabajo y favorece la organización de los archivos y recursos asociados al análisis. Esto promueve la reproducibilidad y la eficiencia en el desarrollo de proyectos de análisis de datos (Bryan, 2018; Gentleman & Temple Lang, 2007).

5.2 Importación de archivos CSV y Excel en R

La importación de datos tabulares es una tarea fundamental en el análisis estadístico. R facilita este proceso mediante funciones y paquetes. Estos permiten trabajar con archivos en formatos ampliamente utilizados, como CSV y Excel. Comprender cómo importar estos archivos correctamente es esencial para garantizar la integridad y reproducibilidad del análisis (Wickham, 2016).

5.2.1 Importación de archivos CSV

El formato CSV (Comma-Separated Values) se ha consolidado como uno de los estándares más utilizados para el almacenamiento y el intercambio de datos tabulares, debido a su simplicidad, legibilidad y compatibilidad con múltiples plataformas y aplicaciones. En R, la función read.csv() permite importar archivos CSV de manera eficiente, posibilitando la lectura de grandes volúmenes de datos sin requerir transformaciones previas (Grolemund & Wickham, 2017).

A continuación, se presenta un ejemplo básico de importación de un archivo CSV:

# Importar un archivo CSV
datos <- read.csv("ruta/del/archivo/datos.csv", 
                  header = TRUE, 
                  sep = ",")

Los parámetros principales de esta función se describen a continuación:

  1. header: Este argumento lógico indica si la primera fila del archivo CSV contiene los nombres de las columnas. Si se establece en TRUE, la primera fila se interpretará como los nombres de las variables; si se establece en FALSE, R asignará nombres genéricos a las columnas (R Core Team, 2023).

  2. sep: Este argumento especifica el carácter que se utiliza para separar los valores en cada fila del archivo CSV. El valor predeterminado es la coma (,), pero puede ajustarse a otros caracteres, como el punto y coma (;) o la tabulación (\t), en función del formato del archivo (Grolemund & Wickham, 2017).

5.2.2 Importación de archivos Excel

El uso de hojas de cálculo en formato Excel (.xlsx) es frecuente en contextos profesionales y académicos, debido a la flexibilidad y las capacidades de organización que ofrece este software. Para la importación de archivos Excel en R, el paquete readxl proporciona funciones optimizadas que permiten acceder a los datos directamente desde las hojas de cálculo, sin necesidad de convertir los archivos a otros formatos intermedios (Wickham, 2016).

El procedimiento recomendado para la importación de archivos Excel incluye la instalación y carga del paquete readxl, seguido del uso de la función read_excel(), como se muestra a continuación:

# Instalar y cargar el paquete readxl
if (!require("readxl")) install.packages("readxl")
# Importar un archivo Excel
datos_excel <- read_excel("ruta/del/archivo/datos.xlsx",
                          sheet = "Hoja1",  
                          col_names = TRUE/FALSE) 

Los argumentos más relevantes de la función read_excel() se detallan a continuación:

  1. sheet: Este argumento permite seleccionar la hoja específica que se desea importar desde el archivo Excel. Se puede especificar el nombre de la hoja como una cadena de caracteres (por ejemplo, "Hoja1") o el número de la hoja (por ejemplo, 1 para la primera hoja) (Wickham, 2016).

  2. col_names: Este argumento lógico determina si la primera fila de la hoja de cálculo debe ser utilizada como los nombres de las columnas. Si se establece en TRUE, la primera fila se interpretará como los nombres de las variables; si se establece en FALSE, R asignará nombres genéricos a las columnas (Grolemund & Wickham, 2017).

5.3 Verificación de la importación de datos

La verificación de la importación de datos representa una fase crítica en el proceso de análisis estadístico, ya que permite identificar y corregir posibles inconsistencias, errores de formato o problemas de codificación que puedan afectar la calidad y la validez de los resultados. Una revisión exhaustiva de los datos importados contribuye a la reproducibilidad y confiabilidad de los análisis, además de optimizar el flujo de trabajo y prevenir dificultades en etapas posteriores (Grolemund & Wickham, 2017; R Core Team, 2023).

5.3.1 Inspección preliminar de los datos

La inspección preliminar consiste en una revisión rápida del contenido y la estructura del conjunto de datos recién importado. R proporciona funciones específicas para este propósito:

  1. head(): Permite visualizar las primeras filas del data frame, facilitando la comprobación de la correcta lectura de los encabezados, la alineación de las columnas y la presencia de datos esperados.

  2. tail(): Muestra las últimas filas del conjunto de datos, útil para verificar la integridad de los registros al final del archivo.

  3. dim(): Informa sobre el número de filas y columnas, lo que ayuda a confirmar que la cantidad de observaciones y variables coincide con lo esperado (Venables & Ripley, 2002).

5.3.2 Evaluación de la estructura y los tipos de variables

La correcta interpretación de los tipos de variables es fundamental para evitar errores en el análisis estadístico. R ofrece herramientas para examinar la estructura interna del objeto de datos:

  1. str(): Proporciona información detallada sobre el tipo de cada variable (numérica, carácter, factor, etc.), la cantidad de observaciones y la organización de las columnas. Esta función resulta esencial para detectar conversiones automáticas no deseadas, como la transformación de variables numéricas en factores o viceversa (Grolemund & Wickham, 2017).

  2. names(): Permite consultar los nombres de las columnas, lo que facilita la identificación de posibles errores en la lectura de los encabezados o la presencia de nombres duplicados.

5.3.3 Resumen estadístico y detección de inconsistencias

El análisis exploratorio inicial incluye la obtención de resúmenes estadísticos básicos, que permiten identificar valores atípicos, rangos inusuales o la presencia de datos faltantes:

  1. summary(): Genera un resumen estadístico para cada variable, incluyendo medidas de tendencia central, dispersión y frecuencia de valores nulos. Esta función resulta útil para detectar anomalías y orientar las primeras etapas de limpieza de datos (Wickham, 2016).

  2. table(): Permite examinar la frecuencia de los valores en variables categóricas, facilitando la identificación de categorías inesperadas o errores de codificación.

5.3.4 Verificación de la codificación de caracteres

En contextos donde los datos contienen caracteres especiales, como tildes o la letra “ñ”, es fundamental asegurarse de que la codificación utilizada durante la importación sea la adecuada. El argumento encoding en funciones como read.csv() permite especificar la codificación, por ejemplo, "UTF-8", para evitar la aparición de símbolos incorrectos o pérdida de información (R Core Team, 2023).

5.3.5 Identificación de valores faltantes y duplicados

La presencia de valores faltantes o registros duplicados puede afectar la validez de los análisis. R ofrece funciones para detectar y cuantificar estos casos:

  1. is.na(): Permite identificar valores ausentes en el conjunto de datos.

  2. anyDuplicated(): Informa sobre la existencia de filas duplicadas, lo que resulta relevante para garantizar la unicidad de las observaciones (Venables & Ripley, 2002).

5.3.6 Importancia de la verificación sistemática

La aplicación sistemática de estas herramientas y procedimientos permite detectar de manera temprana problemas que, de no ser corregidos, pueden comprometer la interpretación y la validez de los resultados. La verificación de la importación de datos debe considerarse una buena práctica en la gestión de información y un paso indispensable en cualquier proyecto de análisis estadístico (Bryan, 2018; R Core Team, 2023).