PAKIETY

library(readxl)
library(igraph)
library(RColorBrewer)
library(ggplot2)
library(ggrepel)

WCZYTYWANIE DANYCH

UWAGA!!!!!

Prosze podać swoją ścieżkę do pliku!

krew <- read_excel("C:/Users/majko/OneDrive/Dokumenty/Zajecia_WZR/Zajecia 2021-2022/Podypolomowe_2021-22/SNA/Cwiczenia_SNA/krew.xlsx", 
                   col_names = FALSE)
###nadanie nazw kolumnom ####
colnames(krew)<-c("kto","komu")

BUDOWA SIECI

graf_krew <- graph_from_data_frame(krew, directed = T)

OPIS SIECI

graf_krew 
## IGRAPH 20eb28e DN-- 8 27 -- 
## + attr: name (v/c)
## + edges from 20eb28e (vertex names):
##  [1] 0- ->A-  0- ->A+  0- ->0+  0- ->B-  0- ->B+  0- ->AB- 0- ->AB- 0- ->0- 
##  [9] 0+ ->0+  0+ ->A+  0+ ->B+  0+ ->AB+ A- ->A-  A- ->A+  A- ->AB- A- ->AB+
## [17] A+ ->A+  A+ ->AB+ B- ->B-  B- ->B+  B- ->AB- B- ->AB+ B+ ->AB+ B+ ->B+ 
## [25] AB-->AB+ AB-->AB- AB+->AB+

WIZUALIZACJA PROSTA SIECI

plot(graf_krew)

WIZUALIZACJA

plot(graf_krew,
     vertex.color=brewer.pal(8, "Reds"),  ### KOLORY Z PALETY
     edge.arrow.size=0.5, 
     edge.color="black", ### KOLOR KRAWĘDZI
     vertex.size=15, ### WIELKOŚĆ WĘZŁA (AKTORA)
     vertex.label.cex=1.5, ### WIELKOŚĆ ETYKIETY WĘZŁA 
     layout=layout.circle) ### STYL UKŁADU

MIARY

STOPIEŃ WIERZCHOŁKA

degree(graf_krew)
##  0-  0+  A-  A+  B-  B+ AB- AB+ 
##   9   6   6   6   6   6   7   8
degree(graf_krew, mode = 'in')
##  0-  0+  A-  A+  B-  B+ AB- AB+ 
##   1   2   2   4   2   4   5   7
degree(graf_krew, mode = 'out')
##  0-  0+  A-  A+  B-  B+ AB- AB+ 
##   8   4   4   2   4   2   2   1
mean(degree(graf_krew, mode = 'in'))
## [1] 3.375
mean(degree(graf_krew, mode = 'out'))
## [1] 3.375
mean(degree(graf_krew))
## [1] 6.75

ŚREDNIA DŁUGOŚC ŚCIEŻKI

average.path.length(graf_krew)
## [1] 1.052632
mean_distance(graf_krew)
## [1] 1.052632

GĘSTOŚC

# GĘSTOŚC LICZONA Z PĘTLAMI
edge_density(graf_krew, loops =T)  
## [1] 0.421875

BLISKOŚĆ

closeness(graf_krew,mode = 'all')
##    0-    0+    A-    A+    B-    B+   AB-   AB+ 
## 0.125 0.100 0.100 0.100 0.100 0.100 0.100 0.125
closeness(graf_krew,mode = 'in')
##        0-        0+        A-        A+        B-        B+       AB-       AB+ 
##       NaN 1.0000000 1.0000000 0.3333333 1.0000000 0.3333333 0.3333333 0.1250000
closeness(graf_krew,mode = 'out')
##        0-        0+        A-        A+        B-        B+       AB-       AB+ 
## 0.1250000 0.3333333 0.3333333 1.0000000 0.3333333 1.0000000 1.0000000       NaN
max(closeness(graf_krew,mode = 'all'))
## [1] 0.125

POŚREDNICTWO

betweenness(graf_krew)
##        0-        0+        A-        A+        B-        B+       AB-       AB+ 
## 0.0000000 0.1428571 0.1428571 0.1428571 0.1428571 0.1428571 0.2857143 0.0000000
                                                                  Made by: 
                                                                  Majkowska Agata