• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Simulador FIRE (Financial Independence, Retire Early)
    • Herramientas
      • Formateador / Minificador de JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Introducción a igraph en R (Parte 4): Centralidad de cercanía (Closeness) en Grafos

abril 2, 2025 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 6 minutos

En las publicaciones anteriores, exploramos la centralidad de grado y la centralidad de intermediación, dos medidas fundamentales en el análisis de redes. Esta semana, nos enfocaremos en otra medida crucial para el análisis de grafos: la centralidad de cercanía (closeness centrality).

La centralidad de cercanía mide cuán cerca está un nodo del resto de nodos de la red. En otras palabras, calcula la inversa de la suma de las distancias desde un nodo a todos los demás. Esta medida es especialmente útil en aquellas redes donde la velocidad en la transmisión de la información o transporte es un factor importante. Su utilidad se extiende a múltiples disciplinas, desde el análisis de redes de telecomunicaciones hasta la optimización de infraestructuras de transporte.

Tabla de contenidos

  • 1 ¿Qué mide y por qué es importante la centralidad de cercanía (Closeness)?
  • 2 Uso en grafos de rutas o información
    • 2.1 Redes de transporte
    • 2.2 Redes de comunicación
    • 2.3 Redes sociales
    • 2.4 Infraestructura y redes energéticas
  • 3 Obtención de la centralidad de cercanía con closeness() en igraph
  • 4 Normalización de la Centralidad de Cercanía en igraph
  • 5 Ejemplo práctico: Red de transporte urbano
  • 6 Conclusiones

¿Qué mide y por qué es importante la centralidad de cercanía (Closeness)?

La centralidad de cercanía de un nodo v se define matemáticamente como: C_C(v) = \frac{1}{\sum_{t \neq v} d(v, t)}, donde d(v, t) es la distancia más corta entre el nodo v y el nodo t.

Un valor mayor de centralidad de cercanía indica que el nodo está más próximo, en promedio, al resto de la red.

La importancia de esta medida radica en su capacidad para identificar nodos que pueden acceder rápidamente a otros nodos dentro de una red. Esto tiene aplicaciones en redes de transporte, telecomunicaciones y difusión de información.

Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane
En Analytics Lane
Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane

Adicionalmente, permite medir la eficiencia de un nodo dentro de una red, ya que aquellos con alta centralidad de cercanía pueden facilitar una mejor comunicación, reducir costos de transmisión y mejorar la resiliencia de una estructura de conexiones interdependientes. En estudios de propagación de información, los nodos con alta centralidad de cercanía suelen ser los primeros en recibir y distribuir información crítica.

Uso en grafos de rutas o información

La centralidad de cercanía es especialmente útil en los siguientes escenarios:

Publicidad


Redes de transporte

En redes de transporte, como redes de carreteras, ferroviarias o aeropuertos, los nodos con alta centralidad de cercanía representan ubicaciones estratégicas desde las que se puede llegar rápidamente a muchas otras partes de la red. Esto es crucial para la optimización del tráfico y la logística. En planificación urbana, esta métrica ayuda a mejorar la accesibilidad de los ciudadanos a diferentes servicios y minimizar el tiempo de desplazamiento entre diferentes puntos de interés.

Redes de comunicación

En redes de telecomunicaciones, los servidores con alta centralidad de cercanía pueden transmitir información de manera más eficiente, reduciendo la latencia y mejorando el rendimiento del sistema. Por ejemplo, en redes distribuidas como el internet, los nodos con alta cercanía pueden actuar como hubs de distribución de paquetes de datos, optimizando la velocidad de conexión.

Redes sociales

En redes sociales, los usuarios con alta centralidad de cercanía pueden difundir información de manera más eficiente al estar ”más cerca” del resto de la comunidad. En plataformas como Bluesky, Mastodon o Facebook, identificar estos nodos es clave para diseñar estrategias de marketing digital y campañas virales, asegurando que los mensajes lleguen a una mayor audiencia con rapidez.

Publicidad


Infraestructura y redes energéticas

En redes eléctricas y sistemas de distribución de energía, la centralidad de cercanía permite identificar subestaciones estratégicas que minimizan pérdidas en la transmisión y optimizan la distribución de recursos. En sistemas de abastecimiento de agua, ayuda a determinar la mejor ubicación de estaciones de bombeo para garantizar una distribución equitativa.

Obtención de la centralidad de cercanía con closeness() en igraph

Podemos calcular la centralidad de cercanía en igraph con la función closeness(). Veamos un ejemplo con un grafo simple:

library(igraph)

# Crear un grafo simple
g <- graph(edges = c(1,2, 1,3, 2,4, 2,5, 3,6, 5,6, 4,5), directed = FALSE)

# Calcular centralidad de cercanía
closeness(g)

Este código devuelve un vector con la centralidad de cercanía de cada nodo en la red. Los valores que se obtiene son:

0.1250000 0.1428571 0.1111111 0.1111111 0.1428571 0.1250000

Lo que indica que los nodos con mayor centralidad de cercanía son el segundo y el quinto, ambos con aproximadamente 0,14. Resultado que también se puede analizar visualmente, para lo que podemos crear un gráfico en el que se muestra el grafo ajustando el tamaño de los nodos según su centralidad de cercanía:

# Ajustar tamaños según centralidad de cercanía
V(g)$size <- closeness(g) * 250

# Graficar el grafo
plot(g, vertex.label.cex=1.2, edge.width=2, main="Centralidad de Cercanía")

Los nodos con mayor centralidad aparecerán más grandes, reflejando su proximidad al resto de la red, como se muestra en la siguiente figura:

Figura en la que se muestra el grafo con el tamaño de los nodos proporcionales a la centralidad de cercanía
Grafo en el que el tamaño de los nodos el proporcional al valor de la centralidad de cercanía

Normalización de la Centralidad de Cercanía en igraph

En grafos con muchos nodos, la interpretación de la centralidad de cercanía puede ser más intuitiva si se normaliza. En igraph, esto se logra mediante el argumento normalized = TRUE en la función closeness(). La fórmula utilizada para la normalización es: C_C^{norm}(v) = \frac{C_C(v)}{(n - 1)}, donde n es el número total de nodos en la red.

Para calcular la versión normalizada en igraph:

# Calcular centralidad de cercanía normalizada
closeness(g, normalized = TRUE)

Lo que, para el grafo de ejemplo, produce los siguientes resultados:

0.6250000 0.7142857 0.5555556 0.5555556 0.7142857 0.6250000

Esto garantiza que los valores de centralidad se encuentren en un rango entre 0 y 1, facilitando la comparación de los valores entre grafos de diferentes tamaños.

Publicidad


Ejemplo práctico: Red de transporte urbano

Imaginemos que estamos analizando una red de transporte urbano, donde los nodos representan estaciones y las aristas representan conexiones directas. Queremos identificar las estaciones que permiten acceder más rápidamente a otras estaciones.

# Crear un grafo de transporte
g_transporte <- graph(edges = c("A","B", "A","C", "B","D", "B","E", "C","F", "E","F", "D","E"), directed = FALSE)

# Calcular centralidad de cercanía
closeness(g_transporte, normalized = TRUE)

# Visualizar el grafo
V(g_transporte)$size <- closeness(g_transporte, normalized = TRUE) * 50
plot(g_transporte, vertex.label.cex=1.2, edge.width=2, main="Red de Transporte Urbano")

Lo que produce una gráfica como la que se muestra a continuación:

Figura en la que se muestra el grafo que representa una red de transporte urbano con el tamaño de los nodos proporcionales a la centralidad de cercanía
Representación de la red de transporte urbano en el que el tamaño de los nodos el proporcional al valor de la centralidad de cercanía

En este caso, las estaciones con mayor centralidad de cercanía son aquellas desde las cuales es posible llegar más rápidamente a otras estaciones. Aplicando este análisis a un sistema de transporte real, como el metro de una gran ciudad, podríamos identificar estaciones clave que pueden actuar como puntos de transbordo óptimos.

Conclusiones

La centralidad de cercanía es una herramienta importante para el análisis de redes, permitiendo identificar nodos que están bien posicionados para acceder rápidamente al resto de la red. Su aplicación es clave en redes de transporte, telecomunicaciones y difusión de información, además de otros campos como la infraestructura energética y la planificación urbana.

En esta entrega, hemos explorado su definición, su importancia en diferentes tipos de grafos, y su implementación en igraph con ejemplos prácticos. La próxima semana, abordaremos otra medida relevante en el análisis de redes: la centralidad de autovector (eigenvector centrality), utilizada para evaluar la influencia de un nodo en la red.

Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane
  • Nueva calculadora de préstamos e hipotecas en el laboratorio de aplicaciones de Analytics Lane
  • Hardening avanzado de NGINX: CSP, OCSP Stapling y defensa en profundidad
  • Nuevo generador y verificador de hashes en el laboratorio de aplicaciones de Analytics Lane
  • Nueva simulación de la estrategia Martingala en ruleta en el laboratorio de aplicaciones de Analytics Lane
  • Exactitud, precisión, recall… y los errores que cometemos al interpretarlas en proyectos reales
  • Nuevo simulador del problema de Monty Hall en el laboratorio de aplicaciones de Analytics Lane
  • Nuevo simulador interactivo de K-Means en el laboratorio de aplicaciones de Analytics Lane
  • Por qué los chatbots de inteligencia artificial parecen estar siempre de acuerdo contigo – Conversar con una inteligencia artificial – Parte I

Publicado en: R Etiquetado como: Análisis de redes, igraph

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Chatbots vs redes sociales: la diferencia clave entre la inteligencia artificial y los algoritmos de recomendación – Conversar con una inteligencia artificial – Parte II

abril 21, 2026 Por Daniel Rodríguez

Nueva Calculadora de Estadísticos Descriptivos en el laboratorio de aplicaciones de Analytics Lane

abril 20, 2026 Por Daniel Rodríguez

Nuevo Inspector de JWT en el laboratorio de aplicaciones de Analytics Lane

abril 20, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Chatbots vs redes sociales: la diferencia clave entre la inteligencia artificial y los algoritmos de recomendación – Conversar con una inteligencia artificial – Parte II publicado el abril 21, 2026 | en Opinión
  • Exactitud, precisión, recall… qué mide realmente cada métrica (y qué no) publicado el marzo 3, 2026 | en Ciencia de datos
  • Método del codo (Elbow method) para seleccionar el número óptimo de clústeres en K-means publicado el junio 9, 2023 | en Ciencia de datos
  • Cómo calcular el tamaño de la muestra para encuestas publicado el septiembre 9, 2025 | en Ciencia de datos
  • Numpy básico: como invertir arrays de Numpy publicado el diciembre 11, 2019 | en Python

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.9 (11)

Pandas: Cambiar los tipos de datos en los DataFrames

Comentarios recientes

  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto