2  Data Management con R

Published

October 7, 2025

2.1 Introducción a la gestión de datos en R

En el ámbito de la investigación de mercados con frecuencia se manejan conjuntos de datos complejos y voluminosos, la gestión eficaz de esos datos es fundamental,pues constituye la columna vertebral de la integridad y reproducibilidad de la investigación, garantizando que los datos se registren, mantengan y sean accesibles con precisión para su análisis y verificación.

En este capítulo, aun a sabiendas de que no es el objetivo de este documento, presentamos diferentes elementos que dan fe de la importancia de una gestión eficaz de datos en la investigación. Del mismo modo, proporcionaremos una descripción general de las capacidades de gestión de datos en R, herramienta que es a la vez versátil y poderosa para los investigadores. Al igual que en el resto de la documentación, usaremos para ello los paquetes tidyverse (Wickham et al. 2019) ya mencionados.

Una eficaz y eficiente gestión de los datos, nos proporcionará …

  • Garantía en la precisión en la gestión: las prácticas adecuadas de gestión de datos ayudan a mantener la precisión y la calidad de los datos de investigación durante todo el ciclo de vida de un proyecto. Esto incluye capturar información detallada sobre los métodos de recopilación de datos, los pasos de procesamiento y cualquier modificación realizada a los datos.

  • Facilidad en la realización del análisis: los datos organizados y bien documentados simplifican el proceso de análisis, lo que permite a los investigadores comprender y utilizar de manera eficiente sus conjuntos de datos. Esto es particularmente crucial en la investigación sobre comunicaciones de masas, donde los estudios a menudo implican el análisis de grandes volúmenes de datos de diversas fuentes.

  • Reproducibilidad: la reproducibilidad es una piedra angular de la investigación científica y se refiere a la capacidad de otros investigadores para lograr los mismos resultados utilizando el conjunto de datos y los procedimientos de análisis originales. Las prácticas eficaces de gestión de datos, como la documentación exhaustiva y el uso de metodologías transparentes, son esenciales para la reproducibilidad.

2.2 R y la gestión y manipulación de datos

R ofrece un conjunto completo de herramientas y funciones para la gestión de datos, lo que lo convierte en un recurso excelente para los investigadores que buscan mantener los más altos estándares de integridad y reproducibilidad de los datos.

Entre las diferentes funciones disponibles, tenemos:

  • Importación y exportación de datos: R admite una amplia gama de funciones para importar datos de diversas fuentes (por ejemplo, archivos CSV, bases de datos, API web) y exportar datos a múltiples formatos. Herramientas como el paquete readr (Wickham, Hester, and Bryan 2024) mejoran estas capacidades, ofreciendo funciones rápidas y flexibles para leer y escribir datos.

  • Limpieza y preparación de datos (data cleaning): R proporciona numerosos paquetes para limpiar y preparar datos para el análisis. dplyr (Wickham et al. 2023) para manipulación de datos, tidyr (Wickham, Vaughan, and Girlich 2024) para la estructuración y ordenamiento de datos y stringr (Wickham 2023) para operaciones de cadenas. Estos paquetes permiten a los investigadores filtrar, seleccionar, transformar y agregar datos de manera eficiente.

  • Exploración y resumen de datos: con paquetes como dplyr y ggplot2 (Wickham 2016), R permite a los investigadores realizar análisis y resúmenes exploratorios de datos. Podemos generar rápidamente estadísticas descriptivas, identificar patrones y visualizar distribuciones de datos.

  • Gestión de documentación y flujo de trabajo: R Markdown (Xie 2017), Quarto (J. J. Allaire et al. 2024) y otros relacionados ofrecen capacidades de documentación dinámica, lo que permite a los investigadores integrar código, resultados y texto narrativo en un solo documento. Esta característica no solo ayuda en el análisis de datos sino también a documentar el proceso de gestión de datos, mejorando la transparencia y la reproducibilidad.

La gestión eficaz de los datos es fundamental para realizar una investigación sólida y fiable. Al aprovechar las amplias capacidades de gestión de datos de R, los investigadores pueden garantizar que sus datos estén bien organizados, sean transparentes y listos para el análisis, contribuyendo así con información valiosa a su campo con confianza en la integridad y reproducibilidad de su trabajo.

2.2.1 Configuración de su entorno R para la gestión de datos

Para aprovechar todo el poder de R para administrar y analizar datos, especialmente en campos que requieren un uso intensivo de datos como la investigación de comunicaciones masivas, es crucial configurar adecuadamente su entorno RStudio y familiarizarse con los paquetes esenciales. Esta configuración no sólo agiliza su flujo de trabajo sino que también mejora la eficiencia y reproducibilidad de su investigación. A continuación, describimos los pasos para configurar RStudio para una gestión óptima de los datos y destacamos los paquetes clave que son indispensables para la importación, manipulación y exportación de datos.

2.2.2 Configuración de RStudio para una gestión óptima de datos

  • Espacio de trabajo e historial: en RStudio, en Tools > Global Options > General, considera configurar el espacio de trabajo para no restaurar .RData en el espacio de trabajo al inicio y no guardar el espacio de trabajo al salir. Esto fomenta la gestión de datos basada en scripts, mejorando la reproducibilidad.

  • Gestión de proyectos: utilice RStudio Projects ( File > New Project) para organizar su investigación. Los proyectos compartimentan el trabajo, manteniendo juntos los guiones, conjuntos de datos y resultados relacionados, lo que simplifica la navegación y mejora el enfoque.

2.2.3 Paquetes esenciales para la importación, manipulación y exportación de datos

Los paquetes que mencionamos a continuación, están la mayoría de ellos integrados en el paquete tidyverse. Para instalar este conjunto de paquetes de manipulación y gestión usar la instrucción ìnstall.packages('tidyverse') que sólo deberá hacerse la primera vez, cuando en la instalación de Rstudio no exista. Una vez ya está instalado, para usarlo basta con usar library(tidyverse). Este paquete incluye el resto de los que estamos hablando, dplyr, ggplot2, tidyr, stringr, readr y otros de los que hablamos seguidamente.

Enumeramos en qué nos pueden ayudar los más relevantes, aplicando un orden en la secuencia de trabajo:

  • readr para importación de datos, parte de tidyverse, ofrece funciones rápidas y simplificadas para leer datos de texto en R. Funciones como read_csv() valores separados por comas y read_tsv() valores separados por tabuladores están optimizadas para mayor velocidad y facilidad de uso.
install.packages("tidyverse") # To install tidyverse packages including readr
library(tidyverse)
  • dplyr para manipulación de datos, también parte de tidyverse potente paquete para la manipulación de datos que proporciona un conjunto coherente de verbos para ayudar a limpiar y preparar los datos para el análisis. Operaciones como filtrar con filter(), ordenar con arrange(), seleccionar con select() y resumir estadísticos u otras operaciones con summarise(). Las operaciones con los datos se vuelven intuitivas y eficientes. Te recomiendo acudir al sitio de tidyverse para conocer cada uno de estos paquetes a fondo. Un ejemplo de estructura sería …
library(dplyr)
filtered_data <- data %>%
  filter(condition) %>%
  arrange(variable) %>%
  select(variable1, variable2) %>%
  summarise(mean_variable = mean(variable))
  • tidyr para organizar y estructurar datos, complementa a dplyr proporcionando funciones para ordenar datos, asegurando que los conjuntos de datos estén estructurados de una manera que facilite el análisis. Funciones como pivot_longer()y pivot_wider() son imprescindibles y muy valiosas estructurar y organizar los datos. Un ejemplo de estructura sería …
library(tidyr)
tidy_data <- data %>%
  pivot_longer(cols = starts_with("variable"),
    names_to = "variable_name",
    values_to = "value")
  • readr nuevamente, ya que es conveniente disponer también de herramientas de exportación de datos. RStudio admite varias funciones para exportar datos, como write_csv() función incluida en readr paquete para escribir bancos de datos en archivos CSV, lo que permite compartir fácilmente los datos procesados. Un ejemplo de estructura sería …
write_csv(data, "path/to/save/your/data.csv")

Al configurar cuidadosamente el entorno de RStudio con paquetes de gestión de datos esenciales, estableces un marco perfecto para realizar tu análisis de datos. Estas configuraciones y herramientas no solo agilizan el proceso de gestión de datos sino que también refuerzan los principios de precisión, eficiencia y reproducibilidad de tu trabajo.

2.3 Buenas prácticas en gestión de los datos

En el ámbito de la investigación de mercados y en especial en la fase de análisis de datos, éstos pueden provenir de una infinidad de fuentes, como encuestas, experimentos o conjuntos de datos secundarios. La fase inicial de codificar estos datos en un formato estructurado es crucial para el análisis posterior en R. Es lo óptimo, establecer un conjunto de mejores prácticas para codificar datos, crear bancos de datos y convertirlos datos sin procesar a un formato susceptible de análisis. Al seguir estas pautas, los investigadores pueden asegurarse de que sus conjuntos de datos estén representados con precisión y listos para un análisis detallado. Sigue los siguientes consejos y/o advertencias:

  • Entiende tus datos y revisa exhaustivamente los datos recopilados de encuestas, experimentos o fuentes secundarias. Identifica las variables, sus tipos de datos esperados y cualquier esquema de codificación utilizado (por ejemplo, para variables categóricas).

  • Aplica una codificación consistente, especialmente para datos categóricos. Por ejemplo, las respuestas de una encuesta pueden codificarse como 1 para “Sí” y 2 para “No”. Asegúrate de que estos códigos se apliquen de manera consistente en todos los datos.

  • Presta atención fundamental a los valores perdidos, perdidos, missing values, decidiendo una estrategia para esos valores perdidos. R los reconoce aplicando el valor NA como un valor faltante o perdido. Es esencial asegurarse de que los datos perdidos en su conjunto de datos estén codificados correctamente como NA para facilitar un análisis preciso.

  • Aplica una nomenclatura clara al nombrar variables, utilizar nombres concisos y descriptivos y respete una convención de nomenclatura coherente (por ejemplo, utilizando guiones bajos para separar palabras:) response_rate. Evita el uso de espacios o caracteres especiales en los nombres de las variables.

  • Tipo de dato, asegúrate de que cada variable en el marco de datos sea del tipo de datos correcto (por ejemplo, numérico, carácter, factor); si no fuera así, utiliza funciones como as.numeric(), as.character() y as.factor() para convertir variables a los tipos de datos apropiados.

  • Limpia tus datos, elimina columnas innecesarias, cambia el nombre de las variables para mayor claridad y verificar si hay errores en la entrada de datos. Usa dplyr que te ofrece un conjunto de funciones que pueden simplificar estas tareas.

  • Transforma tus datos según sea necesario para el análisis. Esto puede implicar agregar datos, crear nuevas variables o reestructurar el conjunto de datos. Nuevamente, te recomiendo usar dplyr para manipulación de datos y tidyr para estructura y organizar nuevos bancos de datos.

Un ejemplo de estructura sería …

# Example of importing and cleaning a dataset
raw_data <- read_csv("path/to/raw_data.csv")
clean_data <- raw_data %>%
  select(-unnecessary_column) %>%
  rename(new_variable_name = old_variable_name) %>%
  mutate(new_variable = as.numeric(old_variable))

Adoptar estas prácticas establece una base sólida para su análisis. Al organizar y estructurar meticulosamente tus datos en R, aseguras que tu proceso de análisis de datos sea eficiente y sólido, lo que te permite descubrir insights dentro de tu proceso de investigación. La precisión de los datos es primordial en la investigación y afecta directamente la validez de sus hallazgos y conclusiones. En el proceso de investigación y particularmente en el análisis de los datos, garantizar la limpieza y precisión de los datos es especialmente crucial.

R te proporciona ese conjunto de herramientas sólido para limpiar y preprocesar datos, abordando problemas comunes como valores perdidos, valores atípicos y errores que se abordan en el siguiente apartado, describiendo técnicas para mejorar los datos, utilizando funciones para validación y comprobación de coherencia.

2.3.1 Limpieza y procesamiento de datos en R

  • Los datos perdidos pueden distorsionar el análisis y llevar a conclusiones incorrectas. En R, los valores perdidos están representados por NA. Las técnicas para manejar valores perdidos incluyen eliminar observaciones con valores perdidos usando na.omit() e imputar valores perdidos con medidas estadísticas (media, mediana) o técnicas de modelado predictivo. Un ejemplo de estructura sería …
data_clean <- na.omit(data)
data$variable <- ifelse(is.na(data$variable), mean(data$variable, na.rm = TRUE), data$variable)

Del mismo modo, la identificación de los llamados valores atípicos o outliers. Los valores atípicos pueden distorsionar los análisis y modelos estadísticos y es por ello que usamos visualizaciones (p. ej., diagramas de caja) y criterios estadísticos (p. ej., puntuaciones Z) para identificar esos valores atípicos. Dependiendo del contexto, los valores atípicos se pueden eliminar, ajustar o analizar por separado. Un ejemplo de estructura sería …

boxplot(data$variable)
data <- data[abs(scale(data$variable)) < 3,] # Removing outliers based on Z-score

Pueden haber errores de recogida, así pues la corrección de errores en los datos mediante validación de datos contra rangos o patrones conocidos puede dotar de una mayor precisión. - Comprobaciones de coherencia: utilice las funciones de dplyr para comprobar la coherencia de sus datos, como verificar que las edades de los encuestados se correspondan adecuadamente con los datos demográficos informados.

Un ejemplo de estructura sería …

data <- data[data$age > 0 & data$age < 100,] # Ensuring age is within a reasonable range

library(dplyr)
data %>% 
  group_by(demographic_group) %>% 
  summarise(avg_age = mean(age)) %>% 
  filter(avg_age > expected_age_range)

2.3.2 Adecuación del conjunto de datos

Como ya hemos indicado, los datos pueden provenir de diversas fuentes, como encuestas, redes sociales y contenido de los medios tradicionales, gestionar la variabilidad de los conjuntos de datos es un desafío importante. La variabilidad puede surgir de diferencias en los métodos de recopilación de datos, escalas de medición o incluso formato de datos entre fuentes. En este apartado, se describen técnicas para estandarizar y normalizar datos en R y proporciona orientación sobre la gestión de conjuntos de datos con diferentes estructuras o formatos, garantizando coherencia y comparabilidad entre sus análisis. Todo ello forma parte del rol del investigador.

  • Variabilidad de los métodos de recopilación de datos: las diferentes herramientas o plataformas utilizadas para la recopilación de datos pueden introducir variabilidad, como diferencias en los métodos de escala, precisión o categorización.

  • Variabilidad de la escala de medición: los conjuntos de datos pueden contener variables medidas en diferentes escalas, como escalas nominales, ordinales, de intervalo o de razón, lo que requiere un manejo cuidadoso para garantizar un análisis preciso.

  • Variabilidad estructural: la variabilidad en la estructura del conjunto de datos, incluidas las diferencias en los formatos de datos, las convenciones de nomenclatura de variables o los patrones de datos perdidos, pueden complicar la gestión y el análisis de los datos.

  • Estandarización (normalización de puntuación Z), reescalar los datos para que tengan una media de 0 y una desviación estándar de 1, lo que facilita las comparaciones entre conjuntos de datos o variables con diferentes unidades o escalas.

  • Normalización (escalado mínimo-máximo): la normalización vuelve a escalar los datos a un rango específico, a menudo entre 0 y 1, lo que resulta útil para conjuntos de datos con variables medidas en diferentes escalas.

  • Manejo de datos categóricos: para datos categóricos, asegúrese de una codificación coherente en todos los conjuntos de datos. La función factor() se puede utilizar para estandarizar variables categóricas, especificando un conjunto uniforme de niveles.

  • Armonización de estructuras de datos: utilice funciones de R para alinear conjuntos de datos con diferentes estructuras. Las funciones del paquete dplyr, como rename(), select() y mutate(), pueden ajustar nombres de variables, seleccionar variables consistentes en conjuntos de datos y crear nuevas variables para alinear estructuras de datos.

  • Fusionar y combinar datos: dplyr ofrece bind_rows() y left_join(), right_join(), inner_join() y full_join() funciones para combinar conjuntos de datos con diferentes estructuras, lo que permite una integración de datos flexible.

data$standardized_variable <- scale(data$variable) # Standardizing a variable
normalize <- function(x) {
  return((x - min(x)) / (max(x) - min(x)))
}

data$normalized_variable <- normalize(data$variable) # Normalizing a variable

data$category_variable <- factor(data$category_variable, levels = c("Level1", "Level2", "Level3")) # Transforming to factor()

La gestión eficaz de la variabilidad del conjunto de datos en R mejora la solidez de la investigación al garantizar la coherencia y comparabilidad de los datos. Al estandarizar y normalizar los datos, y adaptarse a diferentes estructuras o formatos de datos, los investigadores pueden abordar conjuntos de datos complejos con confianza.

2.4 Importación y exportación de datos en R

La gestión eficaz de datos en la investigación, particularmente en el campo de las comunicaciones masivas basado en datos, abarca el manejo competente de las tareas de importación y exportación de datos. R, con su conjunto completo de herramientas y paquetes, facilita el movimiento fluido de datos entre diversas fuentes y formatos. Esta capacidad es crucial para los investigadores que trabajan con diversos tipos de datos, desde hojas de cálculo tradicionales hasta datos a los que se accede a través de API. Esta sección lo guía a través del proceso de importar datos de varias fuentes a R y exportar datos de R a diferentes formatos para usarlos fuera de R.

2.4.1 Archivos CSV

Los archivos CSV (valores separados por comas) son un formato común y sencillo para almacenar datos tabulares. La función read_csv() del paquete readr se puede utilizar para importar archivos CSV. Un ejemplo de estructura sería …

# readr package
library(readr)
data_csv <- read_csv("path/to/your/file.csv")

2.4.2 Archivos de Excel

Los archivos de Excel, dado su uso generalizado, se pueden importar utilizando el readxlpaquete, que proporciona funciones como read_excel()las que admiten ambos .xlsformatos .xlsx. Un ejemplo de estructura sería …

library(readxl)
data_excel <- read_excel("path/to/your/file.xlsx")

2.4.3 Bases de datos

R puede conectarse e importar datos desde varias bases de datos (por ejemplo, MySQL, SQLite, PostgreSQL) utilizando paquetes compatibles con DBI como RMySQL, RSQLitey RPostgreSQL. Las funciones dbConnect(), dbSendQuery()y dbFetch()se utilizan comúnmente para interactuar con bases de datos. Un ejemplo de estructura sería …

library(DBI)
conn <- dbConnect(RMySQL::MySQL(), dbname = "database_name", host = "host")
query_result <- dbSendQuery(conn, "SELECT * FROM table_name")
data_db <- dbFetch(query_result)
dbClearResult(query_result)
dbDisconnect(conn)

2.4.4 Lectura con/desde una API

Para los datos disponibles a través de las API web, el httrpaquete se puede utilizar para realizar solicitudes HTTP y el jsonlitepaquete puede manejar datos JSON que suelen devolver las API. Un ejemplo de estructura sería …

library(httr)
library(jsonlite)

response <- GET("http://api.example.com/data")
data_api <- fromJSON(content(response, "text"), flatten = TRUE)

2.4.5 Exportar en CSV / TSV

Para exportar banco de datos a archivos CSV para usarlos fuera de R, puede usar la función write_csv() desde el paquete readr para una opción más rápida y flexible. Un ejemplo de estructura sería …

# Base R
write.csv(data_csv, "path/to/your/exported_file.csv")

# readr package
library(readr)
write_csv(data_csv, "path/to/your/exported_file.csv")

2.4.6 Exportación a Excel

El paquete writexl permite escribir banco de datos en .xlsxarchivos sin necesidad de dependencias externas, conservando el formato y admitiendo múltiples hojas. Un ejemplo de estructura sería …

library(writexl)
write_xlsx(list(Sheet1 = data_csv, Sheet2 = data_excel), "path/to/your/exported_file.xlsx")

2.4.7 Otros formatos

Para necesidades especializadas, como exportar datos para software estadístico (p. ej., SPSS, Stata) o crear informes, R admite varios paquetes, como haven (Wickham, Miller, and Smith 2023) o expss (Demin 2023) que escriben en formato .sav. Un ejemplo de estructura sería …

# haven for SPSS or Stata formats
library(haven)
write_sav(data_csv, "path/to/your/exported_file.sav")
library(expss)
write_spss(data_csv, "path/to/your/exported_file.sav")

2.5 Ética en la gestión de datos

Cerramos esta sección haciendo alusión a consideraciones éticas en la gestión de datos, que son primordiales. Garantizar la precisión de los datos, mantener la privacidad y afrontar las complejidades del intercambio de datos no son simplemente mejores prácticas sino imperativos éticos. Esta sección explora las cuestiones éticas relacionadas con la precisión, la privacidad y el intercambio de datos, y subraya la importancia de cumplir con las pautas legales y éticas en la gestión de datos.

En cuanto al la precisión de los datos; la gestión ética de los datos requiere un compromiso con la precisión en cada etapa del proceso de investigación. La tergiversación o manipulación de datos no sólo socava la integridad de la investigación sino que también puede provocar daños si se toman decisiones basadas en información incorrecta. Los investigadores deben verificar rigurosamente sus datos y emplear metodologías transparentes para garantizar la confiabilidad de sus hallazgos.

En cuanto a la privacidad de los datos; respetar la privacidad de las personas representadas en los datos de la investigación es una responsabilidad ética fundamental. Esto implica anonimizar los datos para evitar la identificación de los sujetos, especialmente en conjuntos de datos que contienen información personal o sensible. Los investigadores deben estar atentos a la protección de la confidencialidad de sus datos, implementando medidas de seguridad para protegerlos contra accesos no autorizados o violaciones.

Por último, en cuanto al intercambio de datos; compartir es bueno, y en estos tiempos más aún; se promueve la transparencia y la colaboración, pero también plantea consideraciones éticas, particularmente en relación con el consentimiento. Los investigadores deben asegurarse de que los participantes estén informados sobre el posible intercambio de datos y que dicho intercambio cumpla con los acuerdos de consentimiento. Los datos compartidos públicamente deben revisarse cuidadosamente para eliminar cualquier información que pueda identificarlos.

Todo ello, nos lleva a la necesidad de ser consecuentes con los marcos legales, pues debemos conocer y considerar aquellos que rigen la protección de datos y la privacidad en su jurisdicción, como GDPR en Europa. Estas regulaciones establecen requisitos para la recopilación, el almacenamiento y el intercambio de datos que los investigadores deben cumplir. En España, particularmente las pautas éticas y códigos de conducta han sido adaptadas y desarrolladas por la asociación de profesionales y empresas de investigación I+A Spain. Estas directrices a menudo cubren aspectos de la gestión de datos, enfatizando el tratamiento ético de los datos y de los sujetos. Es fundamental familiarizarse con estas directrices y cumplirlas. Existe la ISO 20250 que regula el conjunto del proceso de investigación y en particular se adentra el el análisis de los datos y en la forma en que la investigación se documenta y se muestra con transparencia, obligando a mantener un registro completo de los procesos de gestión de datos, incluido cómo se recopilaron, procesaron y analizaron los datos.

Estas consideraciones éticas en la gestión de datos constituyen la columna vertebral de una conducta de investigación responsable. Al priorizar la precisión de los datos, la privacidad y el intercambio ético, y al adherirse rigurosamente a las pautas legales y éticas, los investigadores pueden garantizar que su trabajo mantenga los más altos estándares de integridad y respeto por los derechos y la dignidad de las personas. Esta base ética no sólo mejora la credibilidad de la investigación, sino que también contribuye al objetivo más amplio de hacer avanzar el conocimiento de una manera respetuosa, responsable y beneficiosa para la sociedad.