Echa un vistazo preliminar a tus datos con {visdat}

8/8/2025

Temas: visualización de datos, limpieza de datos, consejos,

En una clase reciente me preguntaron cómo saber de una dónde hay datos perdidos o missing en un conjunto de datos. La respuesta que di fue usar summarize() para contar la cantidad de datos perdidos en todas las columnas de un dataframe:

library(dplyr) # manipulación de datos
library(messy) # ensuciar datos

# agregar datos perdidos al azar
iris_m <- iris |> 
  messy::make_missing(cols = names(iris))

iris_m |> 
  # resumir los datos
  summarize(
    # en todas las columnas
    across(everything(),
           # contar la cantidad de missing
           ~sum(is.na(.x))
           )
    )
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1           10          13           11          17      12

Pero hay formas más convenientes de hacerlo!


El paquete {visdat} tiene funciones para visualizar tus conjuntos de datos completos, para poder entenderlos de manera visual antes de proseguir con la limpieza o análisis. El paquete entrega varias funciones vis_x() para visualzar la tabla de datos entera, destacando distintos aspectos de la misma.

install.packages("visdat")
library(visdat)

En este post de ROpenSci hay una reseña más completa del paquete, pero te dejo ejemplos útiles a continuación:

Visualizar datos perdidos

Para visualizar si es que hay datos perdidos en nuestro dataframe, y además saber dónde están esos datos perdidos, usamos la función vis_miss():

vis_miss(iris_m)

{visdat} nos muestra visualmente toda la tabla de datos como un rectángulo, destacando los datos perdidos. ¡Súper útil!

Con el argumento cluster podemos agrupar los datos perdidos para tener una mejor noción de la proporción en cada columna.

vis_miss(iris_m, cluster = TRUE)

Visualizar el tipo de las columnas

Con vis_dat() vemos con colores distintos las columnas que corresponden a tipos distintos (numérico, caracter, factor, etc.)

vis_dat(iris)

Visualizar los valores de las variables numéricas

Para explorar los datos de tipo numérico, podemos usar vis_value() para visualizar con una escala de colores los valores de cada columna, dándonos una noción sobre las cifras dentro de nuestra tabla:

iris |> 
  select(where(is.numeric)) |> 
  vis_value()

Visualizar valores numéricos que cumplan una condición

Para indagar en los datos numéricos, podemos entregar una condición dentro de una función lambda para aplicarla a todas las columnas y visualizar los resultados:

vis_expect(iris, ~.x >= 5)
Warning in Ops.factor(.x, 5): '>=' not meaningful for factors

¿Necesitas aprender R para análisis de datos desde cero? Inscríbete a mi curso!

¿Necesitas aprender R para análisis de datos desde cero? Inscríbete a mi curso!

Fecha de publicación:
August 8, 2025
Extensión:
2 minute read, 365 words
Tags:
visualización de datos limpieza de datos consejos
Ver también:
Temas de colores personalizados en apps Shiny
Convertir zonas horarias con R
Unir o cruzar datos con left_join()