---
title: "Parciális rangsorok képzése a tanulmány tárgyát képező U21 adatokon"
output:
  html_document:
    fig_height: 8
    fig_width: 11
    highlight: haddock
    theme: lumen
    toc: yes
    toc_float:
      collapsed: no
  html_notebook:
    fig_caption: yes
    highlight: haddock
    theme: lumen
    toc: yes
    toc_float:
      collapsed: no
  pdf_document:
    keep_tex: yes
    latex_engine: lualatex
    toc: yes
  word_document:
    toc: yes
---

#Munkamenet (Tartalomjegyzék)

1. Szükséges adatok és függvénykönyvtárak beolvasása
  + Szükséges függvénykönyvtárak beolvasása
  + Szükséges adatok beolvasása
2. Szignifikáns biklaszter(ek) számának becslése
  + Normalizált adatok sorbarendezése (szeriáció)
  + Szignifikáns biklaszter(ek) számának becslése
3. Az iBBiG algoritmus alkalmazása az *A-liga* (top-liga) meghatározásához
  + Az A-liga meghatározása
  + Az A-liga F-tesztje
  + Az A-liga hőtérképei
  + Az A-liga stabilitásvizsgálata
  + Az A-ligára vonatkozó parciális rangsor meghatározása
  + A parciális rangsor és az eredeti U21 rangsor megfelelő részeinek összehasonlítása
  + Az U21 adatokon képzett A-liga és a kibővített adatbázis A-ligájának összehasonlítása Venn-diagramokkal
4. Az iBBiG algoritmus alkalmazása a normalizált adatok ellentettjén a *C-liga* (lemaradók) meghatározásához
  + A C-liga meghatározása
  + A C-liga F-tesztje
  + A C-liga hőtérképei
  + A C-liga stabilitásvizsgálata
  + A C-ligára vonatkozó parciális rangsor meghatározása
  + A parciális rangsor és az eredeti U21 rangsor megfelelő részeinek összehasonlítása
  + Az U21 adatokon képzett C-liga és a kibővített adatbázis C-ligájának összehasonlítása Venn-diagramokkal
5. A BicARE algoritmus alkalmazása a *B-liga* (középmezőny) meghatározásához 
  + A B-liga meghatározása
  + A B-liga F-tesztje
  + A B-liga hőtérképei
  + A B-liga stabilitásvizsgálata
  + A B-ligára vonatkozó parciális rangsor meghatározása
  + A parciális rangsor és az eredeti U21 rangsor megfelelő részeinek összehasonlítása
  + Az U21 adatokon képzett B-liga és a kibővített adatbázis B-ligájának összehasonlítása Venn-diagramokkal
6. A kibővített adatbázison képzett ligák közötti átfedések ábrázolása Venn-diagramokkal
  + Az indikátorokra vonatkozó Venn-diagram
  + Az országokra vonatkozó Venn-diagram
7. Eredmények összefoglalása

#1. Szükséges adatok és függvénykönyvtárak beolvasása

##Szükséges függvénykönyvtárak beolvasása
```{r,warning=FALSE,message=FALSE}

#Sorbarendezés és biklaszterezés
library(seriation) #Mátrix oszlopainak és sorainak különböző szempontok szerinti sorbarendezése
library(biclust) #Általános biklaszterezési függvénykönyvtár
library(iBBiG) #iBBiG biklaszterezés
library(BicARE) #BicARE biklaszterezés
library(BcDiag) #Biklaszterek vizsgálata

#További statisztikai eszköztár
library(factoextra) #További távolságfüggvények
library(VennDiagram) #Venn-diagram
library(venneuler) #Venn-diagram

#Formázott táblázatok
library(knitr) #Formázott táblázatok
```

Hivatkozások

```{r,warning=FALSE,message=FALSE}
#Sorbarendezés és biklaszterezés
print(citation("seriation"),style="text") #Mátrix oszlopainak és sorainak különböző szempontok szerinti sorbarendezése
print(citation("biclust"),style="text") #Általános biklaszterezési függvénykönyvtár
print(citation("iBBiG"),style="text") #iBBiG biklaszterezés
print(citation("BicARE"),style="text") #BicARE biklaszterezés
print(citation("BcDiag"),style="text") #Biklaszterek vizsgálata

#További statisztikai eszköztár
print(citation("factoextra"),style="text") #További távolságfüggvények
print(citation("VennDiagram"),style="text") #Venn-diagram
print(citation("venneuler"),style="text") #Venn-diagram

#Formázott táblázatok
print(citation("knitr"),style="text") #Formázott táblázatok
```

##Szükséges adatok beolvasása

Ebben az elemzésben egy kibővített adatbázist használunk. A kibővített adatbázis egyrészt tartalmazza azokat az U21-es adatokat, amelyekkel korábban is dolgozunk (R1-5, E1-4, C1-6, O1-9 mutatók), másrészt olyan indikátorokat, amelyek a Globális Versenyképességi Index (Global Competitiveness Index, röviden GCI) felsőoktatáshoz és K+F-hez kötődő két pilléréhez tartoznak. Továbbá, a kibővített adatbázis tartalmazza a GDP-t is, amely a Világbank (World Bank, röviden WB) adatbázisából (World Development Indicators, röviden WDI) származik. A kibővített adatbázis új indikátorai a következők:

A GCI 5. pillérjéhez tartozó mutatók (Felsőoktatás és képzés):

  + GCI_64: Középfokon beiratkozottak aránya, bruttó % (Secondary education enrollment, gross %)
  + GCI_65: Felsőfokon beiratkozottak aránya, bruttó % (Tertiary education enrollment, gross %)
  + GCI_66: Az oktatás mennyisége (Quantity of education)
  + GCI_67: Az oktatási rendszer minősége (1-től 7-ig, ahol 7 a legjobb) (Quality of education system (from 1 to 7, where 7 is the best))
  + GCI_68: A matematika és a természettudományok oktatásának minősége (1-től 7-ig, ahol 7 a legjobb) (Quality of Math and Science education (from 1 to 7, where 7 is the best))
  + GCI_69: Menedzsment iskolák minősége (1-től 7-ig, ahol 7 a legjobb)  (Quality of Management schools (from 1 to 7, where 7 is the best))
  + GCI_70: Internet-hozzáférés az iskolákban (1-től 7-ig, ahol 7 a legjobb)  (Internet access in schools (from 1 to 7, where 7 is the best))
  + GCI_71: Az oktatás minősége (Quality of education)
  + GCI_72: Kutatási és képzési szolgáltatások elérhetősége (1-től 7-ig, ahol 7 a legjobb)  (Availability of research and training services (from 1 to 7, where 7 is the best))
  + GCI_73: A személyzet képzésének mértéke (1-től 7-ig, ahol 7 a legjobb)  (Extent to staff training (from 1 to 7, where 7 is the best))
  + GCI_74: Munkahelyi képzés (On-the-job training)
  + GCI_75: Felsőoktatás és képzés (Higher education and training)
  
A GCI 12. pillérjéhez tartozó mutatók (Innováció): 
  
  + GCI_149: Innovációs kapacitás (1-től 7-ig, ahol 7 a legjobb)  (Capacity for innovation (from 1 to 7, where 7 is the best))
  + GCI_150: Tudományos kutatóintézetek minősége  (1-től 7-ig, ahol 7 a legjobb) (Quality of scientific research institutions (from 1 to 7, where 7 is the best))
  + GCI_151: Vállalati K+F kiadások (1-től 7-ig, ahol 7 a legjobb) (Company spending on R&D (from 1 to 7, where 7 is the best))
  + GCI_152: Egyetem és az ipar K+F együttműködése (1-től 7-ig, ahol 7 a legjobb)  (University-industry collaboration in R&D (from 1 to 7, where 7 is the best))
  + GCI_153: Fejlett technológiai termékek kormányzati beszerzése (1-től 7-ig, ahol 7 a legjobb)  (Governmental procurement of advanced tech products (from 1 to 7, where 7 is the best))
  + GCI_154: Kutatók és mérnökök elérhetősége (1-től 7-ig, ahol 7 a legjobb)  (Availability of scientists and engineers (from 1 to 7, where 7 is the best))
  + GCI_155: PCT szabadalmak, bejelentések száma/millió lakos (PCT patents, application/million population)
  + GCI_156: Innováció (Innovation)
  
Végső GCI index:  
  
  + GCI_158: Globális versenyképességi index (Global Competitiveness Index)
  
Világbank/Fejlettségi indikátorok/GDP:
  
  + WB_WDI_223: Egy főre jutó GDP, PPP (konstans 2011-es nemzetközi dollár) (GDP per capita, PPP (constant 2011 international $))

```{r,warning=FALSE,message=FALSE}
load("U21_AND_MORE_BIC.RData")
#ALL: 50 x 24 dataframe (Normalizált adatok, ahol az indikátorokat két karakter írja le)
#U21: 50 x 24 dataframe (Normalizált adatok, ahol az indikátorokat a teljes névvel tároljuk)
#LESS_NORM: 50 x 46 dataframe, normalizált U21 és Global Competitive Index (GCI) indikátorok 50 országra
#LESS_ORIG: 50 x 46 dataframe, eredeti U21 és Global Competitive Index (GCI) indikátorok 50 országra
#orig_mtx: 50 x 46 mátrix, eredeti U21 és Global Competitive Index (GCI) indikátorok 50 országra
#orig_mtx_u21: 50 x 24 mátrix, eredeti U21 indikátorok az 50 országra
#mtx: 50 x 46 mátrix, normalizált U21 és Global Competitive Index (GCI) indikátorok 50 országra
#mtx_u21: 50 x 24 mátrix, normalizált U21 adatok az 50 országra
#U21_rank: 50 x 1 mátrix (vektor) U21 rangsor
#weights: 1 x 46 mátrix (vektor) indikátorok súlya, ahol minden indikátor értéke 1/46
```

#2. Szignifikáns biklaszter(ek) számának becslése

##Normalizált adatok sorbarendezése (szeriáció)

Annak érdekében, hogy előzetes képet kapjunk a lehetséges biklaszterek számáról, első lépésként a normalizált adatokat sorba rendezzük.

```{r,warning=FALSE,message=FALSE}
ALL_SER <- c(seriate(dist(mtx,"euclidean"),method="MDS"),seriate(get_dist(t(mtx),"spearman"),method="MDS"))
ALL_ORDERED<-mtx[get_order(ALL_SER,dim=1),get_order(ALL_SER,dim=2)]
rownames(ALL_ORDERED) <- rownames(mtx[get_order(ALL_SER,dim=1),get_order(ALL_SER,dim=2)])
```

##Szignifikáns biklaszter(ek) számának becslése

A szeriáció után a normalizált adatok hõtérképének ábrázolása (lásd az **1. ábrát**) segíthet a lehetséges biklaszterek számának megbecslésében. Az **1. ábrán** a kék cellák a mutatók alacsonyabb értékét jelzik, míg a piros cellák az indikátorok magasabb értékét. 

```{r,warning=FALSE,message=FALSE,fig.width = 9, fig.height = 7,fig.cap="**1. ábra** Az eredeti adatok hőtérképe szeriáció után"}

hmap(as.matrix(ALL_ORDERED),col=bluered(100),showdist="both")
```
A sorba rendezés után két-két nagyobb homogén blokkot fedezhetünk fel az **1. ábrán**. Az **1. ábrán** a bal felsõ sarokban levõ piros cellák két top ligát (A-ligát) sejtetnek, míg a jobb alsó sarokban látható kék cellák két lemaradó ligát (C-ligát).

#3. Az iBBiG algoritmus alkalmazása az *A-liga* (top liga) meghatározásához

Az iBBiG módszer normalizált adatokon való alkalmazásával azonosíthatjuk a top ligákat. Az iBBiG módszer első lépéseként a normalizált adatokat binarizáljuk egy tetszőleges küszöbérték alapján, ami esetünkben a medián. Ezt követően – a biklaszterek számának meghatározása érdekében – elő körben két biklasztert kerestünk.

```{r,warning=FALSE,message=FALSE}
res <- iBBiG(binaryMatrix=binarize(mtx,threshold = NA),nModules = 2,alpha=0.3,pop_size = 100,mutation = 0.08,stagnation = 50,selection_pressure = 1.2,max_sp = 15,success_ratio = 0.6)
summary(res)
```

A fenti eredmények azt mutatják, hogy az iBBiG algoritmus két biklasztert talált. Az elsõ biklaszterben 24 sor (ország) és 36 oszlop (indikátor) található, míg a második biklaszter 25 sort (országot) és 7 oszlopot (indikátort) tartalmaz. A következõ lépésben F-tesztek segítségével meghatározzuk, hogy mely biklaszterek szignifikánsak.

```{r,message=FALSE,warning=FALSE}
Obs.FStat <- NULL
for (i in c(1:res@Number)){
  Obs.FStat[[i]] <- computeObservedFstat(x=mtx,bicResult=res,number=i)
}
kable(Obs.FStat,caption = "**1. táblázat** A sor- és oszlophatások eredménye két biklaszter esetén")
```
Az **1. táblázat** az F-tesztek eredményeit mutatja. Az elsõ biklaszter esetében mind a sor-, mind pedig az oszlophatás szignifikáns. A második biklaszter esetében azonban a sorhatás nem szignifikáns *p = 0.01* szinten, így a második biklaszter inszignifikáns. A továbbiakban tehát csak az elsõ biklaszterrel dolgozunk tovább, amely a top liga (A-liga) országait és indikátorait tartalmazza.

##Az A-liga meghatározása

A következõ lépésként azonosítjuk a top liga biklaszterét.

```{r,warning=FALSE,message=FALSE}
res <- iBBiG(binaryMatrix=binarize(mtx,threshold = 0.50),nModules = 1,alpha=0.3,pop_size = 100,mutation = 0.08,stagnation = 50,selection_pressure = 1.2,max_sp = 15,success_ratio = 0.8)
summary(res)
```

A fenti eredmények alapján az iBBiG algoritmus egy biklasztert talált a normalizált adatokon. Ez a biklaszter 24 sort (országot) és 36 oszlopot (indikátort) tartalmaz. A következõ lépésben F-teszt segítségével eldöntjük, hogy a biklaszter szignifikáns-e vagy sem.

##Az A-liga F-tesztje

A **2. táblázatban** az F-teszt eredménye olvasható. A sor- és oszlophatás egyaránt szignifikáns, tehát a biklaszter szignifikáns.

```{r,message=FALSE,warning=FALSE}
Obs.FStat <- NULL
for (i in c(1:res@Number)){
  Obs.FStat[[i]] <- computeObservedFstat(x=mtx,bicResult=res,number=i)
}
kable(Obs.FStat,caption = "**2. táblázat** Sor- és oszlophatások a top liga esetében")
```

A A-ligában levõ, és az onnan kimaradó országok közötti különbségek érzékeltetésére célszerû a sorok átlagát, mediánját, varianciáját és átlagos abszolút eltérését kirajzoltatni (lásd **2. ábra**). A **2. ábra** vízszintes tengelyén az országok, függõleges tengelyén pedig az indikátorok normalizált (0-1 közötti) adatai láthatók. A **2. ábrán** a piros vonal jelöli azokat az országokat, amelyek benne vannak a top ligában, a fekete vonal pedig azokat az országokat, amelyek nincsenek benne a top ligában. A top ligában levõ országok magasabb átlaggal és mediánnal rendelkeznek, mint a kimaradó országok.

```{r,message=FALSE,warning=FALSE,fig.width = 7, fig.height = 7, fig.cap="**2. ábra** Sorátlag, medián, variancia és átlagos abszolút eltérések az A-liga országaira vonatkozóan"}
exploreBic(dset=mtx,bres=res,mname='biclust',pfor='all',gby='genes',bnum=1)
```

Ugyanezt megtehetjük az oszlopokra (indikátorokra) vonatkozóan is. A **3. ábrán** az oszlopátlag, medián, variancia és az átlagos abszolút eltérés látható. (A **3. ábra** vízszintes tengelyén az indikátorok, függõleges tengelyén pedig az országok normalizált (0-1 közötti) adatai láthatók.) A **3. ábrán** a piros vonal jelöli azokat az indikátorokat, amelyek benne vannak a top ligában, a fekete vonal pedig azokat az indikátorokat, amelyek nincsenek benne a top ligában. 

```{r,message=FALSE,warning=FALSE,fig.width = 7, fig.height = 7, fig.cap="**3. ábra** Oszlopátlag, medián, variancia és átlagos abszolút eltérések A-liga indikátoraira vonatkozóan"}
exploreBic(dset=mtx,bres=res,mname='biclust',pfor='all',gby='conditions',bnum=1)
```


##Az A-liga hõtérképei

A **4. ábra** a top liga hõtérképét szemlélteti, amely ligában 24 ország és 36 indikátor található. A piros cellák az indikátorok magasabb értékeit, míg a kék cellák a mutatók alacsonyabb értékét jelölik.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 7, fig.cap="**4. ábra** Az A-liga hőtérképe"}
drawHeatmap(x=mtx,bicResult=res,number=1,beamercolor = TRUE,paleta=bluered(100))
```

Az **5. ábra** az iBBiG algoritmus eredményét mutatja. Az **5. ábra** bal felsõ sarkában levõ (sárga vonalakkal elválasztott) rész tartalmazza a top ligát, amely kinagyítva látható az **4. ábrán**.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**5. ábra** A normalizált adatokon alkalmazott iBBiG algoritmus eredményének hőtérképe"}
drawHeatmap(x=mtx,bicResult=res,local=FALSE,number=1,beamercolor = TRUE,paleta=bluered(100))
```


##Az A-liga stabilitásvizsgálata

A következõ lépés a top liga biklaszterének stabilitásvizsgálata. A bootstrap eredményei lentebb olvashatók.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
Bootstrap <- diagnoseColRow(x=mtx,bicResult=res,number=1,
  nResamplings=100,replace=TRUE)
Bootstrap
```

Mivel mind a sorok *(bootstrapPvalueRow)*, mind pedig az oszlopok *(bootstrapPvalueCol)* esetében az érékek kisebbek, mint 0.01, a biklaszter stabil.

##Az A-ligára vonatkozó parciális rangsor meghatározása

A következõ lépésben kiszámításra kerül egy olyan parciális rangsor, amely az A-ligába tartozó indikátorokat és országokat tartalmazza. Az A-ligán belül számolt rangsor összevethetõ az U21 eredeti rangsorával, így megvizsgálhatóvá válik az, hogy az eredeti rangsorhoz képest a parciális (A-ligán belüli) rangsor mekkora eltérést mutatnak. A **3. táblázat** az A-ligára vonatkozó parciális rangsort mutatja.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
C<-biclust::bicluster(orig_mtx,res,number=1)
B<-as.data.frame(C[[1]])
selectedweight<-weights[,colnames(B)]
B$Overall_Score<-rowSums(B*selectedweight)*100/max(rowSums(B*selectedweight))
B$Rank<-rank(-B$Overall_Score)
kable(B,caption = "**3. táblázat** A-liga parciális rangsora az iBBiG eredményei alapján",digits = 2)
```

##A parciális rangsor és az eredeti U21 rangsor megfelelõ részeinek összehasonlítása

A legutolsó lépésben összevetésre kerül a fentebb kapott parciális rangsor az eredeti U21-es rangsor megfelelõ részeivel. A Spearman-féle rangkorreláció pozitív irányú, közepesen erős kapcsolatot mutat a két rangsor között.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
cor(B$Rank,U21_rank[rownames(B),],method="spearman")
cor.test(B$Rank,U21_rank[rownames(B),],method="spearman")
```


##Az U21 adatokon képzett A-liga és a kibővített adatbázis A-ligájának összehasonlítása Venn-diagramokkal

Egy érdekes kérdés, hogy mennyiben fed át az U21-es adatokon képzett A-liga és a kibővített adatbázison (U21 + GCI + GDP) képzett A-liga. Az átfedések szemléltetésére Venn-diagramokat képezhetünk (egyet az indikátorok közötti átfedések, egyet pedig az országok közötti átfedések szemléltetésére). Első lépésként kiszámítjuk az U21-es adatbázis A-ligájának biklaszterét.

```{r,warning=FALSE,message=FALSE}
res_U21 <- iBBiG(binaryMatrix=binarize(mtx_u21,threshold = 0.50),nModules = 1,alpha=0.05,pop_size = 100,mutation = 0.08,stagnation = 50,selection_pressure = 1.2,max_sp = 15,success_ratio = 0.8)
T<-biclust::bicluster(orig_mtx,res,number = 1)
T_U21<-biclust::bicluster(orig_mtx_u21,res_U21,number = 1)
League_A<-T[[1]]
League_A_U21<-T_U21[[1]]
```

A **6. ábra** a két top ligába tartozó indikátorok Venn-diagramját mutatja. A zöld körben azoknak az indikátoroknak a száma látható, amelyek az U21 top ligájába (A-liga) tartoznak, a piros körben pedig azoknak az indikátoroknak a száma látható, amelyek a kibővetett adatbázis top ligájában vannak benne. 15 olyan indikátor van, amely mindkét top ligában megtalálható.

```{r,warning=FALSE,message=FALSE,fig.width = 5, fig.height = 9, fig.cap="**6. ábra** Az A-ligák indikátorainak Venn-diagramja (U21 vs. kibővített adatbázis)"}
draw.pairwise.venn(area1=nrow(as.matrix(colnames(League_A))),area2=nrow(as.matrix(colnames(League_A_U21))),cross.area=nrow(as.matrix(intersect(colnames(League_A),colnames(League_A_U21)))),fill=c("red","green"),category=c("Kibővített","U21"),main="A top ligák indikátorainak Venn-diagramja (U21 vs. kibővített adatbázis)")
```

Ugyanezt megtehetjük az országokra vonatkozóan. A **7. ábrán** a zöld kör tartalmazza azoknak az országoknak a számát, amelyek az U21 A-ligájában vannak benne, míg a piros körben azoknak az országoknak a száma látható, akik a kibővített adatbázis alapján az A-ligába kerültek. 21 olyan ország van, amely része mindkét adatbázis A-ligájának.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**7. ábra** Az A-ligák országainak Venn-diagramja (U21 vs. kibővített adatbázis)"}
draw.pairwise.venn(area1=nrow(as.matrix(rownames(League_A))),area2=nrow(as.matrix(rownames(League_A_U21))),cross.area=nrow(as.matrix(intersect(rownames(League_A),rownames(League_A_U21)))),fill=c("red","green"),category=c("Kibővített","U21"),main="A top ligák országainak Venn-diagramja (U21 vs. kibővített adatbázis)")
```

#4. Az iBBiG algoritmus alkalmazása a normalizált adatok ellentettjén a *C-liga* (lemaradók) meghatározásához

A C-liga meghatározásához elsõ lépésként a normalizált adatok ellentettjét kell képeznünk (1 - a normalizált adatok), majd ezeket binarizálni, egy tetszőleges küszöbérték alapján, ami esetünkben a medián.

```{r,warning=FALSE,message=FALSE}
rmtx <- 1-mtx
rres <- iBBiG(binaryMatrix=binarize(rmtx,threshold = NA),nModules = 2,alpha=0.3,pop_size = 100,mutation = 0.08,stagnation = 50,selection_pressure = 1.2,max_sp = 15,success_ratio = 0.6)
summary(rres)
```

A fenti eredmények azt mutatják, hogy az iBBiG algoritmus a normalizált adatok ellentettjén két biklasztert talált. Az elsõ biklaszterben 29 sor (ország) és 39 oszlop (indikátor) található, míg a második biklaszter 22 sort (országot) és 9 oszlopot (indikátort) tartalmaz. A következõ lépésben F-tesztek segítségével meghatározzuk, hogy mely biklaszterek szignifikánsak.

```{r,message=FALSE,warning=FALSE} 
Obs.FStat <- NULL 
for (i in c(1:rres@Number)){
  Obs.FStat[[i]] <- computeObservedFstat(x=rmtx,bicResult=rres,number=i) 
  } 
kable(Obs.FStat,caption = "**4. táblázat** A sor- és oszlophatások eredménye a normalizált adatok ellentettjén két biklaszter esetén")
```

Az F-teszt eredményei a **4. táblázatban** olvashatók. Az elsõ biklaszter esetében mind a sor-, mind pedig az oszlophatás szignifikáns. A második biklaszter esetében azonban a sorhatás inszignifikáns, így a második biklaszter nem szignifikáns. A továbbiakban tehát csak az elsõ biklaszterrel dolgozunk tovább, amely a lemaradó (C-liga) országokat és indikátorokat tartalmazza.

##A C-liga meghatározása

A következõ lépésként azonosítjuk a lemaradók ligájának biklaszterét, azaz még egyszer lefuttatjuk a biklaszter keresést, de már csak egy biklasztert keresve (nem kettőt).

```{r,warning=FALSE,message=FALSE,echo=FALSE} 
  rres <- iBBiG(binaryMatrix=binarize(rmtx,threshold = NA),nModules = 1,alpha=0.3,pop_size = 100,mutation = 0.08,stagnation = 50,selection_pressure = 1.2,max_sp = 15,success_ratio = 0.8)
  score<-rres@Clusterscores
summary(rres) 
```

A fenti eredmények alapján az iBBiG algoritmus egy biklasztert talált a normalizált adatok ellentettjén. Ez a biklaszter 29 sort (országot) és 39 oszlopot (indikátort) tartalmaz. A következõ lépésben F-teszt segítségével eldöntjük, hogy a biklaszter szignifikáns-e vagy sem.

##A C-liga F-tesztje

Az **5. táblázatban** az F-teszt eredménye olvasható. A sor- és oszlophatás egyaránt szignifikáns, tehát a biklaszter szignifikáns.

```{r,message=FALSE,warning=FALSE} 
Obs.FStat <- NULL 
for (i in c(1:rres@Number)){
  Obs.FStat[[i]] <- computeObservedFstat(x=rmtx,bicResult=rres,number=i) 
  } 
kable(Obs.FStat,caption = "*5. táblázat** Sor- és oszlophatások a  C-liga esetében")
```

A C-ligában levõ, és az onnan kimaradó országok közötti különbségek érzékeltetésére célszerû a sorok átlagát, mediánját, varianciáját és átlagos abszolút eltérését kirajzoltatni (lásd **8. ábra**). (A **8. ábra** vízszintes tengelyén az országok, függõleges tengelyén pedig az indikátorok normalizált (0-1 közötti) adatai láthatók.) A **8. ábrán** a piros vonal jelöli azokat az országokat, amelyek benne vannak a C-ligában, a fekete vonal pedig azokat az országokat, amelyek nincsenek benne. A C-ligában levõ országok alacsonyabb átlaggal és mediánnal rendelkeznek, mint a kimaradó országok.

```{r,message=FALSE,warning=FALSE,fig.width = 7, fig.height = 7, fig.cap="**8. ábra** Sorátlag, medián, variancia és átlagos abszolút eltérések a C-liga országaira vonatkozóan"}
exploreBic(dset=mtx,bres=rres,mname='biclust',pfor='all',gby='genes',bnum=1)
```

Ugyanezt megtehetjük az oszlopokra (indikátorokra) vonatkozóan. A **9. ábrán** az oszlopátlag, medián, variancia és az átlagos abszolút eltérés látható. (A **9. ábra** vízszintes tengelyén az indikátorok, függõleges tengelyén pedig az országok normalizált (0-1 közötti) adatai láthatók.) A **9. ábrán** a piros vonal jelöli azokat az indikátorokat, amelyek benne vannak a C-ligában, a fekete vonal pedig azokat az indikátorokat, amelyek nincsenek benne.

```{r,message=FALSE,warning=FALSE,fig.width = 7, fig.height = 7, fig.cap="**9. ábra** Oszlopátlag, medián, variancia és átlagos abszolút eltérések a C-liga indikátoraira vonatkozóan"}
exploreBic(dset=mtx,bres=rres,mname='biclust',pfor='all',gby='conditions',bnum=1)
```


##A C-liga hõtérképei

A **10. ábra** a lemaradók ligájának hõtérképét szemlélteti. A lemaradók ligájában 29 ország és 39 indikátor található. A piros cellák az indikátorok magasabb értékeit, míg a kék cellák a mutatók alacsonyabb értékét jelölik.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 7, fig.cap="**10. ábra** A C-liga hőtérképe"}
drawHeatmap(x=mtx,bicResult=rres,number=1,paleta=bluered(100),beamercolor = TRUE)
``` 

A **11. ábra** a normalizált adatok ellentettjén lefuttatott iBBiG algoritmus eredményét mutatja. A **11. ábra** bal felsõ sarkában levõ (sárga vonalakkal elválasztott) rész tartalmazza a lemaradók ligáját, amely kinagyítva látható a **10. ábrán**.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**11. ábra** A normalizált adatok ellentettjén alkalmazott iBBiG algoritmus eredményének hőtérképe"}
drawHeatmap(x=mtx,bicResult=rres,local=FALSE,number=1,paleta=bluered(100),beamercolor = TRUE) 
```

##A C-liga stabilitásvizsgálata

A következõ lépés a C-ligát tartalmazó biklaszter stabilitásvizsgálata. A bootstrap eredményei lentebb olvashatók.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
Bootstrap <- diagnoseColRow(x=mtx,bicResult=rres,number=1,
  nResamplings=100,replace=TRUE)
Bootstrap
```

Mivel mind a sorok *(bootstrapPvalueRow)*, mind pedig az oszlopok *(bootstrapPvalueCol)* esetében az érékek kisebbek, mint 0.01, a biklaszter stabil.


##A C-ligára vonatkozó parciális rangsor meghatározása

A következõ lépésben kiszámításra kerül egy olyan parciális rangsor, amely az C-ligába tartozó indikátorokat és országokat tartalmazza. A C-ligán belül számolt rangsor összevethetõ az U21 eredeti rangsorával, így megvizsgálhatóvá válik az, hogy az eredeti rangsorhoz képest a parciális (C-ligán belüli) rangsor mekkora eltérést mutat. A **6. táblázat** az C-ligára vonatkozó parciális rangsort mutatja.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
C<-biclust::bicluster(orig_mtx,rres,number=1)
B<-as.data.frame(C[[1]])
selectedweight<-weights[,colnames(B)]
B$Overall_Score<-rowSums(B*selectedweight)*100/max(rowSums(B*selectedweight))
B$Rank<-rank(-B$Overall_Score)
kable(B,caption = "**6. táblázat** C-liga parciális rangsora az iBBiG ellentett adatokon lefutatott eredményei alapján",digits = 2)
```

##A parciális rangsor és az eredeti U21 rangsor megfelelõ részeinek összehasonlítása

A legutolsó lépésben összevetésre kerül a fentebb kapott parciális rangsor az eredeti U21-es rangsor megfelelõ részeivel. A Spearman-féle rangkorreláció erős pozitív kapcsolatra utal. Tehát az eredeti U21 adatokon képzett C-ligán belüli parciális rangsor és a kibővített adatbázison képzett C-ligán belüli parciális rangsor nagyon hasonló egymáshoz. Vagyis az adatok bővítésének hatására a lemaradó országok és sorrendjük csak kevéssel változott. 

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
cor(B$Rank,U21_rank[rownames(B),],method="spearman")
cor.test(B$Rank,U21_rank[rownames(B),],method="spearman")
```


##Az U21 adatokon képzett C-liga és a kibővített adatbázis C-ligájának összehasonlítása Venn-diagramokkal

Egy érdekes kérdés, hogy mennyiben fed át az U21-es adatokon képzett C-liga és a kibővített adatbázison (U21 + GCI + GDP) képzett C-liga. Az átfedések szemléltetésére Venn-diagramokat képezhetünk (egyet az indikátorok közötti átfedések, egyet pedig az országok közötti átfedések szemléltetésére). Első lépésként kiszámítjuk az U21-es adatbázis C-ligájának biklaszterét.

```{r,warning=FALSE,message=FALSE}
rres_U21 <- iBBiG(binaryMatrix=binarize(1-mtx_u21,threshold = 0.50),nModules = 1,alpha=0.08,pop_size = 100,mutation = 0.08,stagnation = 50,selection_pressure = 1.2,max_sp = 15,success_ratio = 0.8)
T<-biclust::bicluster(orig_mtx,rres,number = 1)
T_U21<-biclust::bicluster(orig_mtx_u21,rres_U21,number = 1)
League_C<-T[[1]]
League_C_U21<-T_U21[[1]]
```

A **12. ábra** a két adatbázis C-ligáiba tartozó indikátorok Venn-diagramját mutatja. A zöld körben azoknak az indikátoroknak a száma látható, amelyek az U21 adatokon képzett C-ligába tartoznak, a piros körben pedig azoknak az indikátoroknak a száma látható, amelyek a kibővített adatbázis C-ligájában vannak benne. 19 olyan indikátor van, amely mindkét esetben megtalálható a C-ligában. Egy érdekes eredmény, hogy az összes indikátor, amely az U21 adatbázis C-ligájába tartozik (19), megmaradt a C-ligát meghatározó indikátorok között akkor is, amikor több indikátort vontunk be a vizsgálatba.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**12. ábra** A C-ligákba tartozó indikátorok Venn-diagramja (U21 vs. kibővített adatbázis)"}
draw.pairwise.venn(area1=nrow(as.matrix(colnames(League_C))),area2=nrow(as.matrix(colnames(League_C_U21))),cross.area=nrow(as.matrix(intersect(colnames(League_C),colnames(League_C_U21)))),fill=c("red","green"),category=c("Kibővített","U21"),main="A lemaradók ligáiba tartozó indikátorok Venn-diagramja (U21 vs. kibővített adatbázis)")
```

Ugyanezt megtehetjük az országokra vonatkozóan. A **13. ábrán** a zöld kör tartalmazza azoknak az országoknak a számát, amelyek az U21 adatokon képzett C-ligában szerepelnek, míg a barna körben azoknak az országoknak a száma látható, akik a kibővített adatbázis alapján a C-ligába kerültek. Egy érdekes eredmény, hogy az összes ország, amely a kibővített adatbázis C-ligájába tartozik (29), egyben része az U21 adatbázis C-ligájának is.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**13. ábra** A C-ligákba tartozó országok Venn-diagramja (U21 vs. kibővített adatbázis)"}
draw.pairwise.venn(area1=nrow(as.matrix(rownames(League_C))),area2=nrow(as.matrix(rownames(League_C_U21))),cross.area=nrow(as.matrix(intersect(rownames(League_C),rownames(League_C_U21)))),fill=c("red","green"),category=c("Kibővített","U21"),main="A lemaradók ligáiba tartozó országok Venn-diagramja (U21 vs. kibővített adatbázis)")
```

#5. A BicARE algoritmus alkalmazása a *B-liga* (középmezõny) meghatározásához

A BicARE algoritmus normalizált adatokon való alkalmazásával azonosíthatjuk a B-ligát. A BicARE algoritmus alkalmazásához elsõ lépsként a *BicARE objektumot* *Biclust objektummá* konvertáljuk. 

```{r,message=FALSE,warning=FALSE}
bicare2biclust <- function(x){
	if(class(x)=="Biclust"){ 
		return(x)
	} else if(class(x)=="biclustering"){
		Parameters <- list(numberofbicluster=x$param[1,2],residuthreshold=x$param[2,2],genesinitialprobability=x$param[3,2],samplesinitialprobability=x$param[4,2],numberofiterations=x$param[5,2],date=x$param[6,2])
		RowxNumber <- t(x$bicRow==1)
		NumberxCol <- x$bicCol==1
		Number <- as.numeric(dim(RowxNumber)[2])
		info <- list()
		return(new("Biclust",Parameters=Parameters,RowxNumber=RowxNumber,NumberxCol=NumberxCol,Number=Number,info=info))
	}
}
```

A következő lépésben - a biklaszterek számának meghatározása érdekében - először két biklasztert kerestünk a BicARE algoritmus segítségével.


```{r,warning=F,message=FALSE}
BICARE_res <- FLOC(Data=mtx,k=2,pGene=1.0,pSample=1.0,r=NULL,N=8,M=6,t=500,blocGene=NULL,blocSample=NULL)
bres <- bicare2biclust(BICARE_res)
summary(bres)
bres@Parameters$residuthreshold
```


A fenti eredmények azt mutatják, hogy a BicARE algoritmus talált két biklasztert. Az első biklaszter 35 sort (országot) és 6 oszlopot (indikátort) tartalmaz, míg a második biklaszterben 27 sor (ország) és 6 oszlop (indikátor) található. A következõ lépésben F-tesztek segítségével meghatározzuk, hogy mely biklaszterek szignifikánsak.


```{r,message=FALSE,message=FALSE}
RObs.FStat <- NULL
for (i in c(1:bres@Number)){
  RObs.FStat[[i]] <- computeObservedFstat(x=mtx,bicResult=bres,number=i)
}
kable(RObs.FStat,caption = "**7. táblázat** Sor- és oszlophatások a középmezőny ligáit tartalmazó két biklaszter esetében")
```

A **7. táblázatban** az F-teszt eredménye olvasható. A sor- és oszlophatás egyaránt szignifikáns mindkét biklaszter esetében, tehát mindkét biklaszter szignifikáns. A továbbiakban azonban kizárólag csak az első biklaszterrel dolgozunk tovább, mert az U21 adatbázisán csak egy szignifikáns biklasztert talált a BicARE algoritmus, és csak azzal az egy biklaszterrel vethetőek össze a kibővített adatbázison kapott eredmények.

##A B-liga meghatározása

A következõ lépésként azonosítjuk a B-liga biklaszterét úgy, hogy most már csak egy biklasztert keresünk.

```{r,warning=F,message=FALSE}
BICARE_res <- FLOC(Data=mtx,k=1,pGene=1.0,pSample=1.0,r=NULL,N=8,M=6,t=500,blocGene=NULL,blocSample=NULL)
bres <- bicare2biclust(BICARE_res)
summary(bres)
bres@Parameters$residuthreshold
```

A fenti eredmények alapján a BicARE algoritmus egy biklasztert talált a normalizált adatokon, amely 27 sort (országot) és 6 oszlopot (indikátort) tartalmaz. A következõ lépésben F-teszt segítségével eldöntjük, hogy a biklaszter szignifikáns-e vagy sem.

##A B-liga F-tesztje

A **8. táblázatban** az F-teszt eredménye olvasható. A sor- és oszlophatás egyaránt szignifikáns, tehát a biklaszter szignifikáns.

```{r,message=FALSE,message=FALSE}
RObs.FStat <- NULL
for (i in c(1:bres@Number)){
  RObs.FStat[[i]] <- computeObservedFstat(x=mtx,bicResult=bres,number=i)
}
kable(RObs.FStat,caption = "**8. táblázat** Sor- és oszlophatások a középmezőny ligájának esetében")
```

A középmezõny ligájában levõ, és az onnan kimaradó országok közötti különbségek érzékeltetésére célszerû a sorok átlagát, mediánját, varianciáját és átlagos abszolút eltérését kirajzoltatni (lásd **14. ábra**). (A **14. ábra** vízszintes tengelyén az országok, függõleges tengelyén pedig az indikátorok normalizált (0-1 közötti) adatai láthatók.) A **14. ábrán** a piros vonal jelöli azokat az országokat, amelyek benne vannak a B-ligában, a fekete vonal pedig azokat az országokat, amelyek nincsenek benne.

```{r,message=FALSE,warning=FALSE,fig.width = 7, fig.height = 7, fig.cap="**14. ábra** Sorátlag, medián, variancia és átlagos abszolút eltérések a középmezõny országaira vonatkozóan"}
exploreBic(dset=mtx,bres=bres,mname='biclust',pfor='all',gby='genes',bnum=1)
```

Ugyanezt megtehetjük az oszlopokra (indikátorokra) vonatkozóan is. A **15. ábrán** az oszlopátlag, medián, varianca és az átlagos abszolút eltérés látható. (A **15. ábra** vízszintes tengelyén az indikátorok, függõleges tengelyén pedig az országok normalizált (0-1 közötti) adatai láthatók.) A **15. ábrán** a piros vonal jelöli azokat az indikátorokat, amelyek benne vannak a B-ligában, a fekete vonal pedig azokat az indikátorokat, amelyek nincsenek benne.

```{r,message=FALSE,warning=FALSE,fig.width = 7, fig.height = 7, fig.cap="**15. ábra** Oszlopátlag, medián, variancia és átlagos abszolút eltérések a középmezőny indikátoraira vonatkozóan"}
exploreBic(dset=mtx,bres=bres,mname='biclust',pfor='all',gby='conditions',bnum=1)
```


##A B-liga hõtérképei

A **16. ábra** a középmezõny ligájának hõtérképét szemlélteti. A középmezõnyben 27 ország és 6 indikátor található. A piros cellák az indikátorok magasabb értékeit, míg a kék cellák a mutatók alacsonyabb értékét jelölik.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 7, fig.cap="**16. ábra** A középmezőny ligájának hőtérképe"}
drawHeatmap(x=mtx,bicResult=bres,number=1,paleta=bluered(100),beamercolor = TRUE) 
``` 

A **17. ábra** a BicARE algoritmus eredményét mutatja. A **17. ábra** bal felsõ sarkában levõ (sárga vonalakkal elválasztott) rész tartalmazza a középmezõny ligáját, amely kinagyítva látható a **16. ábrán**. 

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**17. ábra** A BicARE algoritmus normalizált adatokon való alkalmazása után kapott eredmények hőtérképe"}
drawHeatmap(x=mtx,bicResult=bres,local=FALSE,number=1,paleta=bluered(100),beamercolor = TRUE) 
```

##A B-liga stabilitásvizsgálata

A következõ lépés a középmezõny biklaszterének stabilitásvizsgálata. A bootstrap eredményei lentebb olvashatók.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
Bootstrap <- diagnoseColRow(x=mtx,bicResult=bres,number=1,
  nResamplings=100,replace=TRUE)
Bootstrap
```

Mivel mind a sorok *(bootstrapPvalueRow)*, mind pedig az oszlopok *(bootstrapPvalueCol)* esetében az érékek kisebbek, mint 0.01, a biklaszter stabil.


##A B-ligára vonatkozó parciális rangsor meghatározása

A következõ lépésben kiszámításra kerül egy olyan parciális rangsor, amely a B-ligába tartozó indikátorokat és országokat tartalmazza. A B-ligán belül számolt rangsor összevethetõ az U21 eredeti rangsorával, így megvizsgálhatóvá válik az, hogy az eredeti rangsorhoz képest a parciális (B-ligán belüli) rangsorok mekkora eltérést mutatnak. A **9. táblázat** az B-ligára vonatkozó parciális rangsort mutatja.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
C<-biclust::bicluster(orig_mtx,bres,number=1)
B<-as.data.frame(C[[1]])
selectedweight<-weights[,colnames(B)]
B$Overall_Score<-rowSums(B*selectedweight)*100/max(rowSums(B*selectedweight))
B$Rank<-rank(-B$Overall_Score)
kable(B,caption = "**9. táblázat** B-liga parciális rangsora a BicARE eredményei alapján",digits = 2)
```

##A parciális rangsor és az eredeti U21 rangsor megfelelõ részeinek összehasonlítása

A legutolsó lépésben összevetésre kerül a fentebb kapott parciális rangsor az eredeti U21-es rangsor megfelelõ részeivel. A Spearman-féle rangkorreláció közepesen erős pozitív kapcsolatot mutat a két rangsor között.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9}
cor(B$Rank,U21_rank[rownames(B),],method="spearman")
cor.test(B$Rank,U21_rank[rownames(B),],method="spearman")
```


##Az U21 adatokon képzett B-liga és a kibővített adatbázis B-ligájának összehasonlítása Venn-diagramokkal

Egy érdekes kérdés, hogy mennyiben fed át az U21-es adatokon képzett B-liga és a kibővített adatbázison (U21 + GCI + GDP) képzett B-liga. Az átfedések szemléltetésére Venn-diagramokat képezhetünk (egyet az indikátorok közötti átfedések, egyet pedig az országok közötti átfedések szemléltetésére). Első lépésként kiszámítjuk az U21-es adatbázis B-ligáját tartalmazó biklaszterét.

```{r,warning=FALSE,message=FALSE}
BICARE_res_U21 <- FLOC(Data=as.matrix(ALL),k=1,pGene=1,pSample=1,r=1e-16,N=17,M=6,t=10000,blocGene=NULL,blocSample=NULL)
bres_U21 <- bicare2biclust(BICARE_res_U21)

T<-biclust::bicluster(orig_mtx,bres,number = 1)
T_U21<-biclust::bicluster(orig_mtx_u21,bres_U21,number = 1)
League_B<-T[[1]]
League_B_U21<-T_U21[[1]]
```


A **18. ábra** a két B-ligába tartozó indikátorok Venn-diagramját mutatja. A zöld körben azoknak az indikátoroknak a száma látható, amelyek az U21 adatokon képzett B-ligába tartoznak, a piros körben pedig azoknak az indikátoroknak a száma látható, amelyek a kibővített adatbázis B-ligájában vannak benne. A két B-ligában nincsenek közös indikátorok.


```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**18. ábra** A B-ligákba tartozó indikátorok Venn-diagramja (U21 vs. kibővített adatbázis)"}
draw.pairwise.venn(area1=nrow(as.matrix(colnames(League_B))),area2=nrow(as.matrix(colnames(League_B_U21))),cross.area=nrow(as.matrix(intersect(colnames(League_B),colnames(League_B_U21)))),fill=c("red","green"),category=c("Kibővített","U21"),main="A középmezőny ligáiba tartozó indikátorok Venn-diagramjai (U21 vs. kibővített adatbázis)")
```

Ugyanezt megtehetjük az országokra vonatkozóan. A **19. ábrán** a zöld kör tartalmazza azoknak az országoknak a számát, amelyek az U21 adatokon képzett B-ligában szerepelnek, míg a piros körben azoknak az országoknak a száma látható, akik a kibővített adatbázis alapján kerültek a B-ligába. 8 olyan ország van, amely része mindkét adatbázison számolt B-ligának.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**19. ábra** A B-ligákba tartozó országok Venn-diagramja (U21 vs. kibővített adatbázis)"}
draw.pairwise.venn(area1=nrow(as.matrix(rownames(League_B))),area2=nrow(as.matrix(rownames(League_B_U21))),cross.area=nrow(as.matrix(intersect(rownames(League_B),rownames(League_B_U21)))),fill=c("red","green"),category=c("Kibővített","U21"),main="A középmezőny ligáiba tartozó országok Venn-diagramja (U21 vs. kibővített adatbázis)")
```


#6. A kibővített adatbázison képzett ligák közötti átfedések ábrázolása Venn-diagramokkal

##Az indikátorokra vonatkozó Venn-diagram

A **20. ábra** az indikátorok Venn-diagramját mutatja. A piros kör tartalmazza azoknak a mutatóknak a számát, amelyek benne vannak a top ligában (A-ligában), a kék kör pedig azokat, amelyek a lemaradók ligájához (C-ligához) tartoznak. A zöld körben a középmezõny ligájába (B-ligába) tartozó indikátorok száma látható.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**20. ábra** Az indikátorok Venn-diagramja (kibővített adatbázis)"}
T<-biclust::bicluster(orig_mtx,res,number = 1)
League_A<-T[[1]]
R<-biclust::bicluster(orig_mtx,rres,number = 1)
League_C<-R[[1]]
B<-biclust::bicluster(orig_mtx,bres,number = 1)
League_B<-B[[1]]
draw.triple.venn(area1=nrow(as.matrix(colnames(League_A))),area2=nrow(as.matrix(colnames(League_B))),area3=nrow(as.matrix(colnames(League_C))),n12=nrow(as.matrix(intersect(colnames(League_A),colnames(League_B)))),n13=nrow(as.matrix(intersect(colnames(League_A),colnames(League_C)))),n23=nrow(as.matrix(intersect(colnames(League_B),colnames(League_C)))),n123=nrow(as.matrix(intersect(intersect(colnames(League_A),colnames(League_B)),colnames(League_C)))),fill=c("red","green","blue"),category=c("A liga","B liga","C liga"),main="Indikátorok Venn-diagramja")
```

A fenti ábra érdekes tanulsága, hogy az összes középmezőnyben levő indikátor egyben része a top és a lemaradók ligájába tartozó indikátoroknak is.

##Az országokra vonatkozó Venn-diagram

A **21. ábra** az országok Venn-diagramját mutatja. A piros kör tartalmazza azoknak az országoknak a számát, amelyek benne vannak a top ligában (A-ligában), a kék kör pedig azokat, amelyek a lemaradók ligájához (C-ligához) tartoznak. A zöld körben a középmezõny ligájába (B-ligába) tartozó országok száma látható.

```{r,warning=FALSE,message=FALSE,fig.width = 7, fig.height = 9, fig.cap="**21. ábra**Az országok Venn-diagramja (kibővített adatbázis)"}
draw.triple.venn(area1=nrow(as.matrix(rownames(League_A))),area2=nrow(as.matrix(rownames(League_B))),area3=nrow(as.matrix(rownames(League_C))),n12=nrow(as.matrix(intersect(rownames(League_A),rownames(League_B)))),n13=nrow(as.matrix(intersect(rownames(League_A),rownames(League_C)))),n23=nrow(as.matrix(intersect(rownames(League_B),rownames(League_C)))),n123=nrow(as.matrix(intersect(intersect(rownames(League_A),rownames(League_B)),rownames(League_C)))),fill=c("red","green","blue"),category=c("A liga","B liga","C liga"),main="Országok Venn-diagramja")
```

Ha a kibővített adatbázist (U21 + GCI + GDP) használjuk, akkor egyetlen egy olyan ország sincsen, amely egyszerre tagja mindhárom ligának.

#7. Eredmények összefoglalása

A fentiekben bemutatott biklaszterezési eljárások segítségével meghatározhatjuk azt, hogy mely országokat mely indikátorok alapján lehet összehasonlítani. Az iBBiG módszer segítségével a top ligák (*A-ligák és C-ligák*) azonosítására, míg a BicARE módszerrel a középmezõny ligáinak (*B-ligák*) megtalálására van lehetõségünk. A mostani elemzés során egy kibővített adatbázissal dolgoztunk, amely nem csak az U21 adatait tartalmazza, hanem további mutatókat a GCI és a Világbank adatbázisából is. A fenti eredmények alapján elmondható, hogy a kibővített adatbázis használata nem befolyásolja szignifikánsan (az U21-es adatokon kapott eredményekhez képest) a top ligába és a lemaradók ligájába kerülő országokat és indikátorokat. Másrészről azonban fontos megjegyezni, hogy a kibővített adatbázison a középmezőny esetében kapott eredmények eltérnek az U21-es adatbázison kapott eredményektől.


**A tanulmányhoz csatolt kiegészítő fájlok (jelen html is) tudományos célra szabadon felhasználhatók. Kérjük az ezekre való hivatkozáskor magát a Közgazdasági Szemlében megjelent tanulmányt hivatkozni.**

