Sunteți pe pagina 1din 36

Análisis de grafos usando R e igraph

Beatriz Valdez
16 de marzo de 2016

Introducción: Estamos realizando análisis de redes en el contexto de la planificación estratégica. Entre los
softwares que hemos indicado para hacer este tipo de análisis está R. R posee una variedad de paquetes
que ponen a nuestro alcance diversas funciones para facilitarnos esta tarea. En este capítulo continuaremos
señalando algunas de las funciones y facilidades que nos ofrece el paquete igraph. Un paquete que en nuestra
opinión ha sido y es sub-utilizado a pesar de que constituye un recurso bastate completo para esta modalidad
de análisis.
Ofrecemos algunos ejemplos sobre cómo crear una red a partir de diferentes tipos de datos, y los posibles
vínculos que podemos establecer según cada tipo de dato. Preste atención a la forma de crear la red y en
qué forma creamos nuestros vínculos. Experimente con su propia data. No olvide tomar nota sobre aquellos
aspectos que le presenten mayor dificultad.
Note que se le ofrecen distintas posibilidades en los diferentes ejemplos con el objeto de que pueda tener
diferentes opciones al momento de analizar la data que debe entregar como parte del proceso de evaluación

Análisis de casos

Subo tanto el paquete como la data y la data que necesito:

require(igraph)

Primer ejemplo. Zona de habitación deseada

Data:

zona <- read.csv("C:/Users/Beatriz/Downloads/zona.csv",


stringsAsFactors=FALSE)

Lo primero que hago es revisar mi data para asegurarme que no existen anomalias o necesidad de pre-procesar
la data:

str(zona)

## 'data.frame': 1646 obs. of 3 variables:


## $ id : chr "c12" "t106" "c375" "t151" ...
## $ vive : chr "23 de enero" "agua salud" "alta florida" "altamira" ...
## $ aspira: chr "este" "la lagunita" "la florida" "alameda" ...

Tengo tres variable y 1646 casos. Exploro la data:

1
sapply(zona[,2:3], function(x) table(x))

## $vive
## x
## 23 de enero agua salud alta florida
## 1 1 1
## altamira alto hatillo alto prado
## 30 8 10
## altos mirandinos andres bello antimano
## 1 2 2
## av urdaneta av. baralt av. la victoria
## 4 2 3
## av. libertador av. panteon av. roosevelt
## 2 1 1
## av. sucre av. victoria av.solano
## 1 3 1
## baruta bella vista bellas artes
## 21 1 9
## bello monte boleita cagua
## 47 5 1
## california campitos campo alegre
## 1 1 5
## campo claro capitolio capuchino
## 2 3 1
## caracas caricuao carrizales
## 3 16 1
## catia catia caurimare
## 21 1 5
## centro chacaito chacao
## 3 15 91
## chapellin charallave chuao
## 1 6 12
## chulavista coche concresa
## 8 3 3
## country club cuairimares cumbres del curumo
## 1 1 11
## el bosque el cafetal el centro
## 7 29 2
## el cigarral el hatillo el junquito
## 4 120 5
## el llanito el marquez el palmar
## 2 19 1
## el paraiso el rosal el silencio
## 40 12 2
## el valle fuerzas armadas gato negro
## 22 5 1
## gavilan guarenas guatire
## 1 14 12
## guayabitos interior del pais jorge felix catia
## 1 6 1
## la alameda la bandera la baralt
## 1 2 1
## la bonita la boyera la california

2
## 2 50 28
## la candelaria la carlota la castellana
## 23 5 37
## la floresta la florida la guaira
## 1 15 15
## la guairita la lagunita la pastora
## 3 73 2
## la paz la tahona la trinidad
## 3 15 17
## la union la urbina la victoria
## 17 6 1
## las acacias las adjuntas las delicias
## 16 7 1
## las esmeralda las lomas del avila las mercedes
## 1 1 31
## las minas las palmas lo chorros
## 5 6 1
## lomas del avila los campitos los caobos
## 10 1 6
## los chaguaramos los chorros los cortijos
## 11 15 4
## los dos caminos los guayabitos los naranjos
## 22 5 47
## los palos grande los rosales los ruices
## 41 7 12
## los samanes los simbolos los teques
## 17 3 17
## los valles del tuy macaracuay macarao
## 2 6 1
## manzanare mariche miraflores
## 2 1 2
## montalban monte cristo ns/nr
## 22 2 50
## nuevo circo oeste oritopo
## 1 1 1
## palo verde parque caiza parque carabobo
## 11 1 2
## parque central parroquia san juan petare
## 2 1 14
## piedra azul pinto salina plaza suarez
## 1 1 1
## plaza sucre plaza venezuela prados de maria
## 1 5 4
## prados del este propatria quinta crespo
## 19 7 4
## sabana grande san agustin san antonio
## 23 2 18
## san bernandino san jose san juan
## 10 1 1
## san luis san martin san roman
## 3 6 2
## santa eduvigis santa fe santa ines
## 2 28 4
## santa monica santa paula santa rosa

3
## 30 4 8
## santa rosalia sebucan terrazas del avila
## 4 7 10
## terrazas del club hipico trinidad urb. miranda
## 7 1 1
## valle valle abajo valle arriba
## 1 3 17
## valles del tuy vista alegre
## 3 2
##
## $aspira
## x
## campo claro alameda altamira
## 1 2 104
## alto hatillo alto prado baruta
## 3 2 11
## bellas artes bello monte boleita
## 2 26 3
## campo alegre caurimare cerro verde
## 27 1 5
## chacaito chacao chuao
## 4 250 2
## chulavista country club cualquiera
## 2 13 3
## cumbres de curumo el bosque el cafetal
## 11 3 11
## el centro el hatillo el marquez
## 2 198 1
## el paraiso el rosal este
## 7 21 169
## guarenas interior del pais la alameda
## 6 2 3
## la alta florida la boyera la california
## 1 17 8
## la candelaria la carlota la castellana
## 4 4 132
## la colonia tovar la floresta la florida
## 2 1 9
## la guaira la guairita la lagunita
## 2 2 92
## la selva la tahona la trinidad
## 2 22 20
## la union las acacias las adjuntas
## 2 1 4
## las mercedes lomas del avila los chaguaramos
## 42 1 12
## los chorros los cortijos los dos caminos
## 16 3 12
## los naranjos los palos grande los ruices
## 48 62 1
## los samanes los teques macaracuay
## 21 8 4
## manzanal manzanares miraflores
## 3 1 2

4
## monte cristo ninguna noreste
## 1 14 2
## ns/nr plaza venezuela prados del este
## 52 5 18
## san antonio san bernandino san roman
## 3 3 4
## santa fe santa monica santa paula
## 16 12 1
## santa rosa sebucan simbolo
## 4 3 2
## sur este terrazas del avila terrazas del club hipico
## 1 5 4
## valle arriba valle arriba vista alegre
## 25 13 2

Creo una red que me indique donde vive cada persona que aspira vivir donde: Es decir, la relación entre los
nodos la estrablezco según si una persona que vive en una zona dada le gustaría vivir otra/la misma zona:
V(z) –> V(z). Podría tratar esta red como una red de un modo. Sin embargo, la voy a tratar como si se
tratara de una red de dos modos: unos vertices me indican la zona en la que vive el entrevistado y otro la
zona en la que aspira a vivir: V(vive) –> V(aspira a vivir). La red de dos modos se crean a partir de una
matriz de incidencia:

# creo la matriz de incidencia


vive <-matrix(c(zona$vive, zona$aspira), ncol=2)
head.matrix(vive)

## [,1] [,2]
## [1,] "23 de enero" "este"
## [2,] "agua salud" "la lagunita"
## [3,] "alta florida" "la florida"
## [4,] "altamira" "alameda"
## [5,] "altamira" "altamira"
## [6,] "altamira" "altamira"

# creo el grafo
g<-graph_from_edgelist(vive)

# elimino posibles loops


g <- simplify(g)

Estructura del grafo


Creo un para de funciones para evaluar la estructura del grafo. Crear las funciones es opcional, pero me
permite hacer el procedimiento rápidamente y aplicarlos en los otros ejemplos sin tener que escribir todo esos
códigos de nuevo:

# funcion para obtener panoramica sobre la estructura de la red


function(grafo){
wtc <- cluster_walktrap(grafo)
g<-data.frame(
Indicadores =c(
"nodos",
"aristas",

5
"densidad",
"diametro",
"long.med.cam",
"grado medio",
"modularidad",
"coefic.cluster"),
valor=c(vcount(grafo),
ecount(grafo),
round(graph.density(grafo), 2),
diameter(grafo),
round(average.path.length(grafo),2),
round(mean(degree(grafo)),2),
round(modularity(grafo,
membership(wtc)),2)
round(transitivity(grafo),2)
))
return(g)
}

# funcion para determinar numero maximo de relaciones


function(grafo){
r<-data.frame(relaciones =c(
"potenciales", "presentes",
"% presentes"),
valor =c((vcount(grafo)*(vcount(grafo)-1))/2,
ecount(grafo),
round(graph.density(grafo)*100,2)

)
)
return(r)

estructura(g)

## Indicadores valor
## 1 nodos 183.00
## 2 aristas 848.00
## 3 densidad 0.03
## 4 diametro 7.00
## 5 long.med.cam 2.75
## 6 grado medio 9.27
## 7 modularidad 0.11
## 8 coefic.cluster 0.24

relaciones(g)

## relaciones valor
## 1 potenciales 16653.00
## 2 presentes 848.00
## 3 % presentes 2.55

El grafo es poco denso, a pesar de que tiene 145 nodos y 820 aristas. Para un grafo de este tamaño, y si
todas las posibles relaciones estuvieran presentes, se esperarían casi 10.500 relaciones, en este grafo sólo

6
se encuentra presentes el 4% de esas posibles relaciones. Los nodos poseen en promedio 11 vínculos y
existen aproximadamente tres grados de separación entre ellos. Finalmente, el grafo muestra una tendencia a
conformar algunos clusters:

par(bg="gray15",mar=c(1,1,1,1))
plot(g,vertex.label=NA, asp=FALSE,
vertex.size =degree(g)/max(degree(g)),
vertex.color= "gray90",
vertex.frame.color= "gray90",
edge.color="gray55",
edge.arrow.size=0.6)

La visualizacion de la estructura del grafo me sugiere, por ejemplo, que algunas pocas zonas de Caracas,
posiblemente no más de cinco, son altamente valoradas por quienes contestaron la pregunta. Este compor-

7
tamiento me explicaría tanto la densidad del grafo, como los pocos clusters que se detectan en el análisis de
los indicadores

Visualización
Visualizo el grafo. Para ello preciso alguno de los atributos que deseo que estén presentesen en la visualización,
como son el tamaño de los nodos y sus etiquetas, el tamaño de las flechas y el color, así como el layout:

plot(g,layout=layout.auto, vertex.size=3,
edge.width= 0.4, vertex.label.cex =0.78,
edge.arrow.size=0.4, asp=FALSE,
edge.color="black" )

san jose parque caiza las delicias

carrizales catia jorge felix catia


california bella vista
san agustin
mariche

macarao chapellin
noreste
la pastora
campo claro
cualquiera
centro la floresta capitolio
parque carabobo pinto salina
la selva parque central la urbina el centro
valles del tuy andres bello
la bandera caracas santa rosalia oritopo
petare av. la victoria
alameda oeste
parroquia san juan av urdaneta
la paz
av. libertador las palmas el junquito
los caobos prados de maria
ninguna trinidad
cagua lomas del avila guatire catia coche
quinta crespo palo verde chacao la baralt
terrazas del avila
caricuao gato negro
los campitos caurimarepropatria concresa
santa eduvigis prados del este
el bosque la tahona las acaciaslas minas
simbolo ns/nr la union av. victoria
los simbolos la guaira chacaito el palmar
san antonio sabana grande este
san martin boleita
santa rosa
guarenas
av. roosevelt vista alegre
la guairita los teques santa santa
altamira fe monicala trinidad interior del pais 23 de enero
capuchino el hatillo los dos caminos
las mercedes el rosalel paraiso la candelaria
bellas artes fuerzas armadas
los cortijos la lagunita
chuao los samanes la alameda
san juan la castellana el valle country club
valle los palos grandebello monte
alto hatillomacaracuay
sebucan la california baruta valle el llanito
losarriba
chorros
los chaguaramos cumbres del curumo
los guayabitos la florida campo alegreel cafetal av. baralt
gavilan san roman
el marquez
plaza venezuela la boyera
los naranjos
montalban cumbres de curumo
el silencio los rosales
las adjuntaslos ruices alto prado campitos
las esmeralda terrazas del club hipicosan bernandino
monte cristo santa paula
agua salud el cigarral charallave la carlota
cerro verde sur este
chulavista
miraflores la bonita lo chorros
santa ines valle arriba plaza sucre
plaza suarez
antimano manzanal san luis
valle abajo
los valles del tuy
urb. miranda
guayabitos
nuevo circo
manzanare
av.solano
cuairimares av. sucre
la victoria la colonia tovar
la alta florida
altos mirandinos las lomas del avila
alta florida
av. panteon
manzanares
campo claro

piedra azul

8
Puedo hacer algunos arreglos adicionales, por ejemplo abreviar los nombres de los lugares. Este procedimiento
es útil cuando tenemos etiquetas de nodos muy amplias. Veamos cómo haríamos esto:

zona$vive2 <-abbreviate(zona$vive)
zona$aspira2 <-abbreviate(zona$aspira)
vive2 <-matrix(c(zona$vive2, zona$aspira2), ncol=2)
g2<-graph_from_edgelist(vive2)
g2 <- simplify(g2)

Visualizo nuevamente el grafo

ml <- layout_with_graphopt(g2, niter = 50000,


mass = 60 )
plot(g2,layout=ml, vertex.size=3,
edge.width= 0.4, vertex.label.cex =0.82,
edge.arrow.size=0.4, asp=FALSE,
edge.color="black" )

9
plzsc

cmpt
crmrs

av.sl crrz lsdl


snag
prqcz clfr bllv
nrst lbnt snjs
almd
lvct prqcn
chpl
gvln
elsl
cptl lscm
cncr av.l
lpst
jrfc lpaz frza
lmda elcn
mrfl lvdt
bolt snjn lses
cntr petr lssm lspl lurb
cntc
mrch cmpc lssmn
sntrsl plzsr
lunn lscb gutr av.v
chrl trda sbng
clqr carmr mnznl
chua prde
lschr mnzn
prdm chct tdch lsrs
lsac bart prsj
plzv lcst altmr lgur grns lgrt
snti chac lcrl
elpl lflrs sbcn lthn lstq mntl snte nvcr
cati ltrn sntm lspg snbr
elpr elht eljn sntr
lsgy qntc snan ns/n cpch
llgn altm lbyr elcf
nngn lsmr elrs mcrc
vldt elvl este lclf lflrd
snmr
ortp lsad bllm av.b mnznr
carc sntf lsnr lsrc
avur plvr lsdc cmpa indp
lslv santrs vlla vllar crrv macr
a.lv lcnd blla
prqcr lschg
elmr elcg lssmb
gtng antm chlv cmdc elbs ur.m
altp lscr smbl
coch prpt
alth
crcs lsmn lalm snls gybt
lclt snrm
23de andb
trnd mntc
lbnd altf
vllab
vsta vall
sntp
oest pnts elll
agsl av.sc
lbrl llda
cagu av.r
altsm
lchr
av.p pdra sres

crmr lalf

La zonas con mayor número de conexiones se han ubicado hacia el centro del grafo. Inspecciono qué zonas
reciben mayor número de menciones. Observese que he escogido un color para los vínculos que los hace casi
imperceptibles, esto con el objeto de visualizar mejor los nodos centrales:

plot(g2,layout=ml, vertex.size=degree(g2, mode="in")/15,


edge.width= 0.4, vertex.label.cex =0.82,
edge.arrow.size=0.4, asp=FALSE,
edge.color="ghostwhite" )

10
plzsc

cmpt
crmrs

av.sl crrz lsdl


snag
prqcz clfr bllv
nrst lbnt snjs
almd
lvct prqcn
chpl
gvln
elsl
cptl lscm
cncr av.l
lpst
jrfc lpaz frza
lmda elcn
mrfl lvdt
bolt snjn lses
cntr petr lssm lspl lurb
cntc
mrch cmpc lssmn
sntrsl plzsr
lunn lscb gutr av.v
chrl trda sbng
clqr carmr mnznl
chua prde lschr mnzn
prdm chct tdch lsrs
lsac bart prsj
plzv lcst altmr lgur grns lgrt
snti chac lcrl
elpl lflrs sbcn lthn lstq mntl snte nvcr
cati ltrn sntm lspg snbr
elpr elht eljn sntr
lsgy qntc snan ns/n cpch
llgn altm lbyr elcf
nngn lsmr elrs mcrc
vldt elvl este lclf lflrd
snmr
ortp lsad bllm av.b mnznr
carc sntf lsnr lsrc
avur plvr lsdc cmpa indp
lslv santrs vlla vllar crrv macr
a.lv lcnd blla
prqcr lschg
elmr elcg lssmb
gtng antm chlv cmdc elbs ur.m
altp lscr smbl
coch prpt
alth
crcs lsmn lalm snls gybt
lclt snrm
23de andb
trnd mntc
lbnd altf
vllab
vsta vall
sntp
oest pnts elll
agsl av.sc
lbrl llda
cagu av.r
altsm
lchr
av.p pdra sres

crmr lalf

Las cinco zonas con mayor numero de menciones como deseables para vivir son, en orden decreciente Chacao,
el Este, El Hatillo, La Castellana, Altamira y “no sabe/no responde”.Puedo obtener un subgráfico con estas
áreas:

sg1<-induced_subgraph(g2, c("chac", "este", "elht",


"lcst", "altm"))

Visualizo

plot(sg1,layout=layout.auto, vertex.size=degree(sg1, mode


edge.width= 0.4, vertex.label.cex =0.82,
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray80" )

11
altm

lcst

chac

elht

este

Todas las personas que dijeron habitar en estas zonas desean vivir en el Este o en Altamira, preferiblemente.
Nótese que cuando tomamos el grafo completo, la zona más deseada es Chacao. Pero cuando tomo el grupo
de zonas más deseada, la historia es algo distinta. Quiene viven en estas áreas desean irse ‘más hacia el éste’.
Personas quee dijeron vivir en Chacao desearon vivir en altamira, la Castellana.
Puedo visualizar la mitad del grafo, un tercio de él, etc. Este procedimiento es útil cuando tengo grafos
demasiado grandes que podrían comprometer la capacidad de memoria de mi computadora, o dificultar la
visualización e interpretación de la red:

sg2<-induced_subgraph(g2, 1:73)

Visualizo

12
lfr <- layout_with_fr(sg2, niter=1000)
plot(sg2,layout=lfr, vertex.size=degree(sg2, mode="in")/1
edge.width= 0.4, vertex.label.cex =0.82,
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray80" )

cpch

23de
altf antm cagu

avur

av.b
av.p

lsad
av.sl

carc andb

lcnd
mntc nngn

lflrd cmdc
lgur lsmr av.sc
altm lschg
este altp
av.l
lstq lsnr elrs blla av.v
bolt lschr lcst elcf cmpa
altsm bllm
ns/n llgn sntm
a.lv cati chac vlla
elpr lspg
bllv
elht lsdc
lthn altmr
ltrn carmr
prde grns elmr
agsl bart
sntr
clfr

trda
lssm
crcs
cntc crrz
mnznl alth
almd

cptl
cmpc

av.r

cmpt

crmr

Puedo también visualizar el grafo completo, borrando tanto los nodos como los vínculos que tienen un número
pequeño de relaciones, por ejemplo 5. Aquí es útil tomar en cuenta el indicador de grado de la red y ver el
mínimo número de conexiones, así como el máximo número, para decidir a partir de qué número de conexiones
sería conveniente borrar nodos:

g3 <- delete.vertices(g2,
V(g2)[degree(g2)<=5])

13
Visualizo nuevamente el grafo

lfr <- layout_with_fr(g3, niter=10000)

plot(g3,layout=lfr, vertex.size=degree(g3)/15,
edge.width= 0.4, vertex.label.cex =0.82,
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray80" )

mcrc
chlv

elbs
blla
altp
snrm
alth
elmr

cmpa
snbr
vlla
cntc chct
vllar
mntl cmdc
lsac lschg

elcf lflrd

chua lsnr sntf


lcnd
lsdc
lbyr
lsrc santrs
lschr
tdch elht ns/n
chac sntm
altmr bllm carc
este
trda lspg
lthn lsmr
llgn elrs
lssm
ltrn lcst altm plvr

sbng
elpr
lclf grns
bart prpt
lunn
prde
snan nngn

elvl
lssmn
lstq
cati
gutr
lgur
bolt

sbcn

lmda
plzv

lsad

Podría haber hecho lo mismo con el grafo con etiquetas completas. Pero además, puedo aclarar los vínculos,
colorear y escalar los nodos según el grado:

14
g4 <- delete.vertices(g,
V(g)[degree(g)<=5])

Este procedimiento mejora el comportamiento de algunos indicadores:

estructura(g4)

## Indicadores valor
## 1 nodos 69.00
## 2 aristas 606.00
## 3 densidad 0.13
## 4 diametro 6.00
## 5 long.med.cam 2.22
## 6 grado medio 17.57
## 7 modularidad 0.09
## 8 coefic.cluster 0.39

relaciones(g4)

## relaciones valor
## 1 potenciales 2346.00
## 2 presentes 606.00
## 3 % presentes 12.92

Compara los resultados anteriores con la informaciòn que obtuve inicialmente. Visualizo:

minC <- rep(-Inf, vcount(g4))


maxC <- rep(Inf, vcount(g4))
minC[1] <- maxC[1] <- 0
co <- layout_with_fr(g4, niter=20000, minx=minC,
maxx=maxC,
miny=minC, maxy=maxC)
colores <-topo.colors(max(degree(g4)))

plot(g4,layout=co, vertex.size=degree(g4)/15,
edge.width= 0.4,
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray92",
vertex.label.cex=degree(g4)/35,
vertex.label.font=round(degree(g4)/18),
vertex.color= colores,
vertex.frame.color=colores
)

15
cumbres del curumo

alto hatillo
cumbres de curumo

la union sabana grande

alto prado

chuao

los samanes
las acacias
montalban
los ruices

terrazas del club hipico


country club

el marquez
los chorros chulavista

sebucan baruta

campo alegre
la tahona
el paraiso la trinidad
el bosque

la candelaria
terrazas del avila

el cafetal

la lagunita
el hatillo macaracuay

plaza venezuela

el valle valle arriba


la boyera los palos grande san bernandino

los naranjos chacao


la castellana este la florida

boleita altamira santa fe chacaito

prados del este bellas artes


los teques

las mercedes ns/nr los chaguaramos

lomas del avila

bello monte
santa monica
la california guarenas

el rosal
los dos caminos
la guaira

catia guatire

san antonio

las adjuntas
santa rosa valle arriba

caricuao

palo verde
ninguna

san roman

propatria

Notése que he modificado los valores por defectos del layout. Esto con el fin de mejorar el ‘dibujado’ del
grafo. Aquí es útil que experimente con esos valores. No deje de consultar la viñeta del paquete igraph para
obtener mayor información sobre los criterios para adelantar este procedimiento. Adicionalmente, he creado
una paleta de colores que me permitirá darle color a los nodos de acuerdo con el grado e igualmente he
manipulado el tipo de fuente de acuerdo con este indicador para que me ayude a identificar la distribución
del grado o de cualesquiera de lo indicadores analizados, con el cambio de fuente.
Voy a visualizar las zonas que reciben el mayor número de menciones:

plot(g4,layout=co, vertex.size=degree(g4, mode = "in")/15,


edge.width= 0.4,
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray92",
vertex.label.cex=degree(g4, mode = "in")/30,
vertex.label.font=round(degree(g4, mode = "in")/15),

16
vertex.color= colores,
vertex.frame.color=colores)

cumbres del curumo

alto hatillo

cumbres de curumo

sabana grande
chuao

los samanes

montalban
terrazas del club hipico

country club

los chorros

baruta
sebucan

campo alegre
la tahona
el paraiso la trinidad
el bosque

terrazas del avila

el cafetal

el hatillo
plaza venezuela
la lagunita macaracuay

el valle valle arriba


la boyera
los palos grande

los naranjos
la castellanachacao
este la florida

boleita
altamira santa fe chacaito

prados del este bellas artes

los teques

las mercedes ns/nr los chaguaramos

bello monte
santa monica
la california guarenas

el rosal

los dos caminos

catia guatire
san antonio

santa rosa
valle arriba

caricuao
ninguna palo verde
san roman

propatria

Exploro ahora en qué zonas tiende a vivir la gente que respondió a la pregunta sobre zona preferida para
vivir:

plot(g4,layout=co, vertex.size=degree(g4,
mode = "out")/5,
edge.width= 0.4,
vertex.label.cex =degree(g4, mode = "out")/30,
vertex.label.font=round(degree(g4, mode = "out")/15),
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray92",

17
vertex.color= colores,
vertex.frame.color=colores)

cumbres del curumo

alto hatillo

cumbres de curumo

la union sabana grande


alto prado

chuao

los samanes
las acacias
montalban
los ruices

terrazas del club hipico

los chorros
el marquez chulavista

sebucan baruta

campo alegre

la tahona
la trinidad
el paraiso el bosque

la candelaria terrazas del avila

el cafetal

el hatillo
la lagunita macaracuay

plaza venezuela

el valle valle arriba

los palos grande


la boyera san bernandino

la castellana chacao
los naranjos este la florida

altamira santa fe chacaito


boleita

prados del este


bellas artes
los teques

las mercedes
ns/nr los chaguaramos

lomas del avila

bello monte
santa monica
la california guarenas

el rosal

los dos caminos


la guaira

catia guatire

san antonio

las adjuntas
santa rosa
valle arriba

caricuao

ninguna palo verde

san roman

propatria

Exploro ahora el grafo de acuerdo con otros indicadores. Dado que usted ha investigado sobre lo que cada
uno de ellos nos informa, dejaremos que aplique esos conocimientos e interprete las visualizaciones:
cercanía

plot(g4,layout=co, vertex.size=closeness(g4)+3,
edge.width= 0.4,
vertex.label.cex =closeness(g4) + .767,
vertex.label.font=round(closeness(g4))+1,
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray92",

18
vertex.color= colores,
vertex.frame.color=colores)

cumbres del curumo

cumbres de curumo alto hatillo

la union sabana grande


alto prado
chuao

los samanes
las acacias
los ruices montalban
terrazas del club hipico country club
los chorros el marquez chulavista

sebucan baruta

campo alegre
la tahona la trinidad
el paraiso el bosque
la candelaria terrazas del avila
el cafetal
el hatillo
la lagunita macaracuay
plaza venezuela valle arriba
el valle
la boyera los palos grande
san bernandino
la castellana chacaoeste
los naranjos la florida

boleita altamira santa fe chacaito

prados del este bellas artes


los teques
ns/nr los chaguaramos
las mercedes
lomas del avila
bello monte
la california santa monica guarenas
el rosal
los dos caminos
la guaira

catia guatire
san antonio
las adjuntas santa rosa valle arriba

caricuao

ninguna palo verde

san roman

propatria

lejania

plot(g4,layout=co, vertex.size=eccentricity(g4),
edge.width= 0.4,
vertex.label.cex =eccentricity(g4)/2,
vertex.label.font=round(eccentricity(g4)),
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray92",
vertex.color= colores,
vertex.frame.color=colores)

19
cumbres del curumo

cumbres de curumo alto hatillo

la union sabana grande


alto prado
chuao
los samanes
montalban las acacias
terrazas del club hipico los ruices country club
los chorros el marquez chulavista
sebucan baruta
campo alegre
el paraisola tahona la trinidad el bosque
la candelaria terrazas del avila
el cafetal
el hatillo
la lagunita macaracuay
plaza venezuela el valle valle arriba
la boyera los palos grande
san bernandino
la castellana chacao
este la florida
los naranjos
boleita altamira santa fe chacaito
los teques prados del este bellas artes
las mercedes ns/nr los chaguaramos
lomas del avila bello monte
la california santa monica guarenas
el rosal
los dos caminos
la guaira
catia guatire
san antonio
las adjuntas santa rosa valle arriba

caricuao
ninguna palo verde
san roman

propatria

intermediacion

plot(g4,layout=co, vertex.size=betweenness(g4)/100,
edge.width= 0.4,
vertex.label.cex =betweenness(g4)/180,
vertex.label.font=round(betweenness(g4)/120),
edge.arrow.size=0.5, asp=FALSE,
edge.color="gray92",
vertex.color= colores,
vertex.frame.color=colores)

20
cumbres del curumo

cumbres de curumo

sabana grande alto prado

chuao

los samanes

montalban

los chorros el marquez

baruta

campo alegre

la tahona

el paraiso la trinidad

el cafetal

el hatillo
la lagunita
χηαχαο
plaza venezuela

el valle valle arriba


la boyera los palos grande san bernandino

la castellana
los naranjos este la florida

boleita

altamira santa fe

prados del este

ns/nr
los teques

los chaguaramos
las mercedes
bello monte
santa monica
la california guarenas

el rosal

los dos caminos

catia guatire
san antonio

valle arriba

caricuao

ninguna palo verde

propatria

segundo ejemplo. Vicepresidentes de Venezuela

Tengo dos marcos de datos con presidentes y vice presidentes de venezuela. No he verificado la precisión de
esta data. La usaré con fines didácticos. Examinaré que tipo de relaciones puedo explorar

vices <- read.csv("~/analisisDatos/redes/vicepresidentes.csv")

presidentes <- read.csv("C:/Users/Beatriz/Downloads/pob-xlsx (1).csv", stringsAsFactors=FALSE)

Exploración de la data

21
head(presidentes)

## nombre partido modo.poder


## 1 cristobal mendoza independiente elecciones indirectas
## 2 juan escalona independiente elecciones indirectas
## 3 baltazar padron independiente elecciones indirectas
## 4 francisco espejo independiente elecciones indirectas
## 5 fernando rodriguez del toro independiente elecciones indirectas
## 6 javier ustariz independiente elecciones indirectas
## cargo fecha fin
## 1 presidente 1811 1812
## 2 presidente 1811 1812
## 3 presidente 1811 1812
## 4 presidente 1812 1812
## 5 presidente 1812 1812
## 6 presidente 1812 1812

# cuantos casos
nrow(presidentes)

## [1] 88

head(vices)

## nombre partido Vicepresidente


## 1 mendoza, escalona, padron independiente juan escalona
## 2 mendoza, escalona, padron independiente baltazar porras
## 3 espejo, rodriguez, ustariz independiente fernando rodriguez del toro
## 4 mendoza, escalona, padron independiente javier ustariz
## 5 francisco de miranda independiente sin vicepresidente
## 6 simon bolivar independiente sin vicepresidente
## cargo fecha fin
## 1 vicepresidente 1861 1863
## 2 vicepresidente 1861 1863
## 3 vicepresidente 1863 1864
## 4 vicepresidente 1863 1864
## 5 vicepresidente 1812 1812
## 6 vicepresidente 1813 1814

# cuantos casos
nrow(vices)

## [1] 47

Para establecer estas relaciones, puedo en principio tratar de determinar qué personas han sido escogidas
por qué partido: el partido escoge a la persona. Luego, puedo ver qué presidente eligió cual vicepresidente.
Adicionalmente, puedo también observar qué personas han estado en qué cargos, y por último, podría
establecer la co-ocurrencia de personas en un cargo dado, según la fecha

Preparacion de la data

22
# vicepresidentes elegidos por cual presidente

vicepresidentes<-as.matrix(table(vices[, c(1,3)]))

head.matrix(vicepresidentes)

## Vicepresidente
## nombre adina bastidas andres narvarte
## andres narvarte 0 1
## carlos soublette 0 0
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 1 0
## jose antonio paez 0 1
## Vicepresidente
## nombre antonio leocadio guzman antonio leocadioÂ
## andres narvarte 0 0
## carlos soublette 0 0
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 0 0
## jose antonio paez 0 0
## Vicepresidente
## nombre baltazar porras carlos soublette
## andres narvarte 0 0
## carlos soublette 0 1
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 0 0
## jose antonio paez 0 1
## Vicepresidente
## nombre diego bautista urbaneja diosado cabello
## andres narvarte 0 0
## carlos soublette 1 0
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 0 1
## jose antonio paez 1 0
## Vicepresidente
## nombre elias jaua fernando rodriguez del toro
## andres narvarte 0 0
## carlos soublette 0 0
## espejo, rodriguez, ustariz 0 1
## francisco de miranda 0 0
## hugo chavez 1 0
## jose antonio paez 0 0
## Vicepresidente
## nombre francisco antonio zea
## andres narvarte 0
## carlos soublette 0
## espejo, rodriguez, ustariz 0
## francisco de miranda 0
## hugo chavez 0

23
## jose antonio paez 0
## Vicepresidente
## nombre francisco de paula santander isaias rodriguez
## andres narvarte 0 0
## carlos soublette 0 0
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 0 1
## jose antonio paez 0 0
## Vicepresidente
## nombre javier ustariz joaquin herreraÂ
## andres narvarte 0 0
## carlos soublette 0 0
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 0 0
## jose antonio paez 0 0
## Vicepresidente
## nombre jorge arreaza jorge rodriguez
## andres narvarte 0 0
## carlos soublette 0 0
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 1 1
## jose antonio paez 0 0
## Vicepresidente
## nombre jose maria carrenio jose vicente rangel
## andres narvarte 1 0
## carlos soublette 0 0
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 0 1
## jose antonio paez 0 0
## Vicepresidente
## nombre juan escalona manuel felipe de tovar
## andres narvarte 0 0
## carlos soublette 0 0
## espejo, rodriguez, ustariz 0 0
## francisco de miranda 0 0
## hugo chavez 0 0
## jose antonio paez 0 0
## Vicepresidente
## nombre nicolas maduro no designado pedro gual.
## andres narvarte 0 0 0
## carlos soublette 0 0 0
## espejo, rodriguez, ustariz 0 0 0
## francisco de miranda 0 0 0
## hugo chavez 1 0 0
## jose antonio paez 0 0 0
## Vicepresidente
## nombre ramon carrizales santos michelena
## andres narvarte 0 0
## carlos soublette 0 1
## espejo, rodriguez, ustariz 0 0

24
## francisco de miranda 0 0
## hugo chavez 1 0
## jose antonio paez 0 1
## Vicepresidente
## nombre sin vicepresidente
## andres narvarte 0
## carlos soublette 0
## espejo, rodriguez, ustariz 0
## francisco de miranda 1
## hugo chavez 0
## jose antonio paez 2

vg1 <-graph.incidence(vicepresidentes, mode=c("all"))

# analisis de la estructura del grafo y de las relaciones presentes


estructura(vg1)

## Indicadores valor
## 1 nodos 45.00
## 2 aristas 43.00
## 3 densidad 0.04
## 4 diametro 8.00
## 5 long.med.cam 2.86
## 6 grado medio 1.91
## 7 modularidad 0.74
## 8 coefic.cluster 0.00

relaciones(vg1)

## relaciones valor
## 1 potenciales 990.00
## 2 presentes 43.00
## 3 % presentes 4.34

par(bg="gray15",mar=c(1,1,1,1))

plot(vg1,vertex.label=NA, asp=FALSE,
vertex.size =degree(vg1)/max(degree(vg1)),
vertex.color= "gray90",
vertex.frame.color= "gray90",
edge.color="gray55",
edge.arrow.size=0.6)

25
Puedo agregar, usando otra vía que tiene el paquete igraph, algunos atributos. Esta vía, da los mismos
resultados que antes obteniamos agregando los atributos con la función plot(); la diferencia es que estos
atributos ahora se añanden a la información del grafo. Si deseo exportar luego esa red para visualizarla con
cualquier otro programa, los atributos se exportarán también.

nTerms <- nrow(vicepresidentes)


nDocs <- ncol(vicepresidentes)
idx.terms <- 1:nTerms
idx.docs <- (nTerms+1):(nTerms+nDocs)

V(vg1)$color[idx.terms] <- rgb(0, 1, 1, .5)


V(vg1)$size[idx.terms] <- 6
V(vg1)$color[idx.docs] <- rgb(1, 1, 0, .4)
V(vg1)$size[idx.docs] <- 4

26
V(vg1)$frame.color[idx.terms] <- rgb(0, 1, 1, .5)
V(vg1)$frame.color[idx.docs] <- rgb(1, 1, 0, .4)
V(vg1)$label.cex=degree(vg1)/3

Preparo el layout

minC <- rep(-Inf, vcount(vg1))


maxC <- rep(Inf, vcount(vg1))
minC[1] <- maxC[1] <- 0
co <- layout_with_fr(vg1, niter=20000, minx=minC,
maxx=maxC,
miny=minC, maxy=maxC)

Represento este grafo escalándolo por el número de veces que un presidente escogió a un vicepresidente.
Nótese que al diferenciar los colores de los cargos, necesariamente algunos nombres se repetiran con distintos
colores, eso nos indicará que algunos vicepresidentes luego fueron presidentes:

plot(vg1, layout=co)

27
julian castro

manuel felipe de tovar javier ustariz

manuel felipe de tovar

pedro gual. mendoza, escalona, padron


pedro gual baltazar porras

juan escalona

no designado

pedro carmona estang

joaquin herreraÂ

juan crisostomo falcon

jose gregorio monagas


espejo, rodriguez, ustariz

fernando rodriguez del toro antonio leocadio guzman

francisco antonio zea

antonio leocadioÂ
francisco de miranda

simon bolivar
francisco de paula santander

jose tadeo monagas


nicolas maduro

sin vicepresidente
jose maria carrenio
diosado cabello
jorge arreaza
jose vicente rangel

diego bautista urbaneja

jose antonio paez


jose maria carrenio
elias jaua

carlos soublette
hugo chavez
adina bastidas

andres narvarte nicolas maduro


carlos soublette
andres narvarte isaias rodriguez

santos michelena

ramon carrizales

jorge rodriguez

jose maria vargas

Los presidentes que más veces han elegido vicepresidentes han sido Hugo Chávez y José Antonio Páez. Diego
Baustista Urbaneja ha sido la persona que más veces, distintos presidentes eligieron como vicepresidente.
Esta red nos da información interesante sobre la etapa republicana del siglo XIX en cuanto a la red en torno
a la vicepresidencia.
Veamos ahora, qué vicepresidentes, aunque no hayan sido elegidos muchas veces, han estado intermediando
entre el cargo de vicepresidentes y presidentes

V(vg1)$label.cex=betweenness(vg1)/25

La visualización me ilustra varias cosas. Que Páez tendió a seleccionar vicepresidentes que luego fueron
presidentes; que ha sido más el número de veces que la vicepresidencia permaneció vacía y que Andrés
Narvarte como presidente y vicepresidente ha tendio una influencia importante en el siglo XIX. Simón Bolívar
también ha ocupado una posición importante al unir diversos vicepresidentes en distintos momentos. En la
denominada V República, Nicolás Maduro ha unido también los dos cargos.

28
Exploro esta red según el partido. Aquí parto del supuesto de que el partido elige a quien posteriomente será
presidente, y por tanto, tiene influencia en el vicepresidente que se elige. Nótese que, usando un procedimiento
distinto puedo emplear el partido como atributo para colorear la red. Ese procedimiento lo veremos luego.

vpartidos<-as.matrix(table(vices[, c(2,3)]))

head.matrix(vpartidos)

## Vicepresidente
## partido adina bastidas andres narvarte antonio leocadio guzman
## conservador 0 4 2
## independiente 0 0 0
## liberal 0 0 0
## psuv 1 0 0
## Vicepresidente
## partido antonio leocadio baltazar porras carlos soublette
## conservador 1 0 2
## independiente 0 1 0
## liberal 1 0 0
## psuv 0 0 0
## Vicepresidente
## partido diego bautista urbaneja diosado cabello elias jaua
## conservador 4 0 0
## independiente 0 0 0
## liberal 0 0 0
## psuv 0 1 1
## Vicepresidente
## partido fernando rodriguez del toro francisco antonio zea
## conservador 0 0
## independiente 1 1
## liberal 0 0
## psuv 0 0
## Vicepresidente
## partido francisco de paula santander isaias rodriguez
## conservador 0 0
## independiente 1 0
## liberal 0 0
## psuv 0 1
## Vicepresidente
## partido javier ustariz joaquin herrera jorge arreaza
## conservador 0 0 0
## independiente 1 0 0
## liberal 0 1 0
## psuv 0 0 2
## Vicepresidente
## partido jorge rodriguez jose maria carrenio jose vicente rangel
## conservador 0 1 0
## independiente 0 0 0
## liberal 0 0 0
## psuv 1 0 1
## Vicepresidente
## partido juan escalona manuel felipe de tovar nicolas maduro
## conservador 0 0 0
## independiente 1 0 0

29
## liberal 0 3 0
## psuv 0 0 1
## Vicepresidente
## partido no designado pedro gual. ramon carrizales santos michelena
## conservador 0 0 0 2
## independiente 0 0 0 0
## liberal 0 2 0 0
## psuv 1 0 1 0
## Vicepresidente
## partido sin vicepresidente
## conservador 3
## independiente 3
## liberal 1
## psuv 0

vg2 <-graph.incidence(vpartidos, mode=c("all"))

# analisis de la estructura y de las relaciones


estructura(vg2)

## Indicadores valor
## 1 nodos 31.00
## 2 aristas 30.00
## 3 densidad 0.06
## 4 diametro 4.00
## 5 long.med.cam 2.64
## 6 grado medio 1.94
## 7 modularidad 0.64
## 8 coefic.cluster 0.00

relaciones(vg2)

## relaciones valor
## 1 potenciales 465.00
## 2 presentes 30.00
## 3 % presentes 6.45

par(bg="gray15",mar=c(1,1,1,1))

plot(vg2,vertex.label=NA, asp=FALSE,
vertex.size =degree(vg2)/max(degree(vg2)),
vertex.color= "gray90",
vertex.frame.color= "gray90",
edge.color="gray55",
edge.arrow.size=0.6)

30
nTerms <- nrow(vpartidos)
nDocs <- ncol(vpartidos)
idx.terms <- 1:nTerms
idx.docs <- (nTerms+1):(nTerms+nDocs)

V(vg2)$color[idx.terms] <- rgb(0.5, 0.7, 1, .5)


V(vg2)$size[idx.terms] <- 6
V(vg2)$color[idx.docs] <- rgb(1, 1, 0.5, .4)
V(vg2)$size[idx.docs] <- 4
V(vg2)$frame.color[idx.terms] <- rgb(0.5, 0.7, 1, .5)
V(vg2)$frame.color[idx.docs] <- rgb(1, 1, 0.5, .4)
V(vg2)$label.cex=degree(vg2)/3

Visualizo

31
plot(vg2)

jose vicente rangel


elias jaua

jorge rodriguez

nicolas maduro

francisco de paula santander

psuv
baltazar porras
diosado cabello

jorge arreaza

francisco antonio zea

isaias rodriguez
fernando rodriguez del toro no designado

javier ustariz independiente adina bastidas

ramon carrizales

juan escalona

sin vicepresidente

santos michelena

manuel felipe de tovar

carlos soublette

liberal

joaquin herreraÂ
antonio leocadioÂ
conservador antonio leocadio guzman

pedro gual.
diego bautista urbaneja

jose maria carrenio

andres narvarte

Este grafo nos da aún mayor información con respecto a la red del poder en torno a las vicepresidencias
durante el siglo XIX. La vicepresidencia estuvo vacía independientemenete del tipo de partido. Antonio
Leocadio Guzman fye vice presidente tanto para conservadores como para liberales.
Veamos ahora la presidencia según el tipo de elecciones realizadas. Aquí el presidente es ‘escogido’ por las
elecciones. De nuevo, esta data presenta inconsistencias, la usamos con fines didácticos

pelecciones<-as.matrix(table(presidentes[, c(1,3)]))

head.matrix(pelecciones)

## modo.poder

32
## nombre campaña admirable elecciones directas
## andres narvarte 0 0
## antonio guzman blanco 0 0
## baltazar padron 0 0
## carlos andres perez 0 2
## carlos delgado chalbaud 0 0
## carlos soublette 0 0
## modo.poder
## nombre elecciones indirectas golpe de estado
## andres narvarte 0 0
## antonio guzman blanco 3 1
## baltazar padron 1 0
## carlos andres perez 0 0
## carlos delgado chalbaud 0 1
## carlos soublette 1 0
## modo.poder
## nombre presidente designado presidente encargado
## andres narvarte 0 0
## antonio guzman blanco 1 0
## baltazar padron 0 0
## carlos andres perez 0 0
## carlos delgado chalbaud 0 0
## carlos soublette 0 1
## modo.poder
## nombre presidente provisional restituciÃ3n presidente
## andres narvarte 2 0
## antonio guzman blanco 0 0
## baltazar padron 0 0
## carlos andres perez 0 0
## carlos delgado chalbaud 0 0
## carlos soublette 0 0

vg3 <-graph.incidence(pelecciones, mode=c("all"))

# estructura y relaciones
estructura(vg3)

## Indicadores valor
## 1 nodos 62.00
## 2 aristas 74.00
## 3 densidad 0.04
## 4 diametro 6.00
## 5 long.med.cam 3.40
## 6 grado medio 2.39
## 7 modularidad 0.56
## 8 coefic.cluster 0.00

relaciones(vg3)

## relaciones valor
## 1 potenciales 1891.00
## 2 presentes 74.00
## 3 % presentes 3.91

33
par(bg="gray15",mar=c(1,1,1,1))

plot(vg3,vertex.label=NA, asp=FALSE,
vertex.size =degree(vg3)/max(degree(vg3)),
vertex.color= "gray90",
vertex.frame.color= "gray90",
edge.color="gray55",
edge.arrow.size=0.6)

Mejoro algunos atributos de la red

nTerms <- nrow(pelecciones)


nDocs <- ncol(pelecciones)

34
idx.terms <- 1:nTerms
idx.docs <- (nTerms+1):(nTerms+nDocs)

V(vg3)$color[idx.terms] <-"darkorchid4"
V(vg3)$size[idx.terms] <- 6
V(vg3)$color[idx.docs] <- "firebrick"
V(vg3)$size[idx.docs] <- 4
V(vg3)$frame.color[idx.terms] <- "darkorchid4"
V(vg3)$frame.color[idx.docs] <- "firebrick"
V(vg3)$label.cex=degree(vg3)/15

plot(vg3)

campaña admirable

jose gregorio monagas

francisco linares alcantara


isaias medina angarita

cristobal mendoza

javier ustariz

juan pablo rojas paul

simon bolivar

juan escalona francisco de miranda

raimundo andueza palacio

fernando rodriguez del toro

francisco espejo

juan bautista perez

jose tadeo monagas

presidente designado
jose ruperto monagas
baltazar padron

elecciones indirectas
jose antonio paez
juan vicente gomez

antonio guzman blanco

juan crisostomo falcon

wolfgang larrazabal

guillermo tell villegas

eleazar lopez contreras

pedro carmona estanga

jose maria vargas

hermogenes lopez
golpe de estado julian castro

carlos delgado chalbaud

presidente provisional
andres narvarte

joaquin crespo

cipriano castro

carlos soublette

restitución presidente

romulo betancourt

pedro gual

nicolas maduro

hugo chavez

ramon jose velasquez

elecciones directas
diosdado cabello presidente encargado marcos perez jimenez

ignacio andrade

jose gil fortoul

manuel felipe de tovar

laureano vallenilla

jaime lusinchi

carlos andres perez

victorino marquez bustillos


romulo gallegos

german suarez flamerich

rafael caldera
edgar sanabria luis herrera campins

raul leoni

jose maria carrenio

octavio lepage

35
V(vg3)$label.cex=betweenness(vg3)/1100

plot(vg3, layout=layout.drl)

campaña admirable

francisco de miranda
baltazar padron
simon bolivar

jose ruperto monagas

pedro carmona estanga


jose gregorio monagas presidente designado

isaias medina angarita


cipriano castro
raimundo andueza palacio
jose antonio paez

antonio guzman blanco

juan bautista perez juan crisostomo falcon

julian castro
jose tadeofrancisco
monagas linares alcantara
golpe de estado andres narvarte
elecciones indirectas
wolfgang larrazabal
eleazar lopez contreras

fernando rodriguez del toro


juan escalona
presidente provisional
joaquin crespo

juan pablo rojas paul carlos delgado chalbaud


javier ustariz cristobal mendoza romulo gallegos
hermogenes lopez
romulo betancourt

jose maria vargas

francisco espejo
rafael caldera pedro gual

carlos soublette

jaime lusinchi
luis herrera campins
elecciones directas

nicolas maduro

ignacio andrade german suarez flamerich

carlos andres perez


manuel felipe de tovar

diosdado cabello
presidente encargado
raul leoni marcos perez jimenez

victorino marquez
josebustillos
maria carrenio
edgar sanabria ramon jose velasquez

jose gil fortoul


laureano vallenilla

octavio lepage

Diversos presidentes han llegado al poder a través de diversos medios: por golpe de estado y luego elecciones,
bien sea directa o indirectas. Otros fueron presidentes encargados y luego electos por elecciones-

36

S-ar putea să vă placă și