--- title: "e-DAS-021 Mineração de Dados" subtitle: "Análise de redes" author: "Evandro M. Saidel Ribeiro" date: "17 de agosto de 2023" output: # html_document: default # pdf_document: default word_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = FALSE) #library(kableExtra) #Sys.setenv(RSTUDIO_PANDOC="C:/Program Files/RStudio/bin/pandoc") library(flextable) library(officer) library(pander) dfmt <- function(x){ sprintf("%.4f", x) } ifmt <- function(x){ sprintf("%.0f", x) } ``` # 1 Exemplo com 14 vértices A seguir são apresentados os resultados do estudo da rede do exemplo1. Os cálculos foram feitos com o pacote igraph do software R. ## (1.a) A matriz de adjacência A matriz de adjacência é dada por: **Matriz de adjacência**. ```{r, echo=FALSE} ma ``` ## (1.b) Arquivo .net O arquivo .net lido no R (deve-se desconsiderar o símbolo "#") é apresentado a seguir. ```{r, echo=TRUE} #*Vertices 14 #1 V1 #2 V2 #3 V3 #4 V4 #5 V5 #6 V6 #7 V7 #8 V8 #9 V9 #10 V10 #11 V11 #12 V12 #13 V13 #14 V14 #*Edges #1 2 1 #4 14 1 #5 14 1 #6 14 1 #7 8 1 #7 9 1 #7 10 1 #8 9 1 #8 10 1 #9 10 1 #10 11 1 #11 12 1 #11 13 1 #12 13 1 #13 14 1 ``` ## (1.c) Medidas relacionadas à rede ### Densidade A densidade da rede é igual a `r densidade`. ### Grau médio O grau médio da rede é igual a `r grau.medio`. ### Comprimento de caminho médio (average path length) O comprimento de caminho médio é `r L.medio`. ### Diâmetro O diâmetro da rede é `r diametro`. ### Coeficiente de agrupamento médio O coeficiente de agrupamento médio é `r agrup.medio`. ## (1.d) Medidas relacionadas aos vértices As medidas relacionadas aos vértices são apresentadas na Tabela 1. **Tabela 1**. Resumo de medidas para os vértices, ordenadas pelo *PageRank*. ```{r, echo=FALSE} tblr <- regulartable(resumo.no) tblr <- set_formatter(tblr, Grau = ifmt, PageRank=dfmt, Betweenness=dfmt,Clustering=dfmt) tblr <- theme_zebra(tblr, odd_header = "transparent", even_header = "transparent") tblr <- fontsize(tblr, size = 10, part = "all") tblr <- color(tblr, color = "#007FA6", part = "header") tblr <- hline(tblr, border = fp_border(width = .75, color = "#007FA6"), part = "body" ) tblr <- hline(tblr, border = fp_border(width = 2, color = "#007FA6"), part = "header" ) tblr <- align(tblr, j = 1, align = "left", part = "all") tblr <- empty_blanks(tblr) tblr <- autofit(tblr) tblr ``` ## (1.e) Medidas para arestas As medidas de intermediações de arestas, para cada aresta, são apresentadas a seguir. ```{r, echo=FALSE} interm.arestas ``` ## (1.f) Layouts para a rede Foram escolhidos três *layouts* para a apresentação da rede: *Layout* circular, apresentado na Figura 1; *Layout* Fruchterman-Reingold, apresentado na Figura 2; e *Layout* Kamada Kawai, apresentado na Figura 3. As figuras mencionadas são apresentadas a seguir. ### *Layout* Circular **Figura 1**. Rede apresentada em *layout* circular. ```{r,fig.height = 10, fig.width = 14, echo=FALSE} plot(g1, layout=L.circ.2,vertex.size = V(g1)$tamanho) ``` ### *Layout* Fruchterman-Reingold **Figura 2**. Rede apresentada em *layout* Fruchterman-Reingold. ```{r,fig.height = 10, fig.width = 14, echo=FALSE} plot(g1, layout=L.fr.2,vertex.size = V(g1)$tamanho) ``` ### *Layout* Kamada Kawai **Figura 3**. Rede apresentada em *layout* Kamada Kawai. ```{r,fig.height = 10, fig.width = 14, echo=FALSE} plot(g1, layout=L.kk.2,vertex.size = V(g1)$tamanho) ``` ### Análise de agrupamentos **Figura 4**. Rede representada em *layout* Fruchterman-Reingold com resultado da análise de detecção de comunidades. ```{r,fig.height = 10, fig.width = 14, echo=FALSE} plot(comunid, g1,vertex.color=vetorcor1,layout=L.fr.2,vertex.size = V(g1)$tamanho) ``` **Figura 5**. Rede representada utilizando pacote networkD3. ```{r,fig.height = 6, fig.width = 10, echo=FALSE} #forceNetwork(Links = g1_d3$links, Nodes = g1_d3$nodes, # Source = 'source', Target = 'target', NodeID = 'name', # Group = 'group',zoom = TRUE) ``` ## Links uteis [https://kateto.net/network-visualization]([ggrepel](https://github.com/slowkow/ggrepel) )