Obtención de datos desde API’s
Para la toma de datos a través de un API
library(jsonlite)
urls<-paste0("http://api.football-data.org/v1/competitions/",394:404,"/leagueTable")
Prueba<-(fromJSON(urls[1])$standing)[,c(3,5:12)]
Liga<-rep(fromJSON(urls[1])$leagueCaption,dim(Prueba)[1])
for(i in 2:10){
Prueba<-rbind(Prueba,(fromJSON(urls[i])$standing)[,c(3,5:12)])
Liga<-c(Liga,rep(fromJSON(urls[i])$leagueCaption,dim(fromJSON(urls[i])$standing)[1]))
}
Base=data.frame(Liga,Prueba)
En base a los datos obtenidos se obtienen los siguientes comparaciones
Estadísticas Descriptivas
AD<-cbind(tapply(Base$points,Base$Liga,length),tapply(Base$points,Base$Liga,min),tapply(Base$points,Base$Liga,max),tapply(Base$points,Base$Liga,median),tapply(Base$points,Base$Liga,mean),tapply(Base$points,Base$Liga,sd))
colnames(AD)<-c("Nro. Equipos","Mínimo","Máximo","Mediana","Promedio","Desviación Estándar")
knitr::kable(AD)
1. Bundesliga 2015/16 |
18 |
25 |
88 |
42.0 |
47.05556 |
15.65613 |
2. Bundesliga 2015/16 |
18 |
28 |
72 |
45.5 |
46.22222 |
12.29326 |
3. Bundesliga 2015/16 |
20 |
31 |
78 |
49.0 |
50.95000 |
10.55051 |
Ligue 1 2015/16 |
20 |
18 |
96 |
50.0 |
51.60000 |
15.11848 |
Ligue 2 2015/16 |
20 |
30 |
74 |
47.0 |
50.90000 |
12.19965 |
Premier League 2015/16 |
20 |
17 |
81 |
48.5 |
51.65000 |
15.43842 |
Primeira Liga 2015/16 |
18 |
25 |
88 |
40.5 |
46.77778 |
18.90084 |
Primera Division 2015/16 |
20 |
32 |
91 |
44.5 |
52.40000 |
18.10321 |
Segunda Division 2015/16 |
22 |
32 |
75 |
56.0 |
56.45455 |
10.99665 |
Serie A 2015/16 |
20 |
28 |
91 |
46.0 |
52.25000 |
17.24704 |
De acuerdo a la tabla anterior, los equipos de la segunda división 2015/16 tienen una puntuación promedios que supera a la de los equipos de otras liga, además el error estándar es uno de los más bajos, lo que se traduce en que los resultados obtenidos en los equipos son muy equitativos; la puntuación más baja obtenida por un equipo fue en la Premier League, cuya puntuación fue de 17, a diferencia de la League 1 donde se presenta la puntuación máxima obtenida por un equipo, aún asi la variabilidad en aquí es un poco alta y consecuentemente el promedio se ve afectado, razón por la cual es más bajo que en otras ligas.
Resultados de Encuentros por Liga
library(ggplot2)
Juegos<-tidyr::gather(Base[,c(1,8:10)],key = Partidos,value = Cuenta, wins,draws,losses)
ggplot(Juegos,aes(x=Partidos,y=Cuenta,fill=Liga))+geom_boxplot()+labs(x="Resultados de Encuentros",y="Nro. de Partidos")

Resultados de Anotaciones por Liga
Al observar el gráfico de manera global se evidencia mucha similitud entre las distribuciones de los juegos ganados y los juegos perdidos; los juegos empatados por su parte son inferiores en cuanto a la distribución de las puntuaciones. La diferencia si nos fijamos en la Segunda División no es muy notoria pues las cajas se traslapan casi en su totalidad. En la Primera Liga se alcanza a ver una ligera diferencia en cuanto a la mediana de las puntuaciones y las dispersión de estas, la puntuación mediana es más baja en los partidos ganados que en los que se han perdido y aún más baja en los empatados.
Goles<-tidyr::gather(Base[,c(1,5:7)],key =Partidos,value = Gol,goals,goalsAgainst)
ggplot(Goles,aes(x=Partidos,y=Gol,fill=Liga))+geom_boxplot()+labs(x="Resultados de Encuentros",y="Nro. de Goles")

En este gráfico se observa un comportamiento similar entre la cantidad de goles a favor y en contra en las diferentes ligas, de estas, la Premier League es la que tiene mayor mediana en cuanto a los goles a favor aunque la distribución es asimétrica de cola derecha, también se observan muchos valores extremos principalmente en las Bundesliga, Primera Liga y la Serie A.
LS0tDQp0aXRsZTogIk9idGVuY2nzbiBkZSBEYXRvcyBBIHRyYXbpcyBkZSBBUEkncyB5IFdlYiBTY3JhcGluZyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KYXV0aG9yOiAiRmVybmFuZG8gTWFkZXJhIC0gSmFpcm8gTW9udGVzIg0KLS0tDQoNCiMjIE9idGVuY2nzbiBkZSBkYXRvcyBkZXNkZSBBUEkncw0KUGFyYSBsYSB0b21hIGRlIGRhdG9zIGEgdHJhdulzIGRlIHVuIEFQSQ0KDQpgYGB7cn0NCmxpYnJhcnkoanNvbmxpdGUpDQp1cmxzPC1wYXN0ZTAoImh0dHA6Ly9hcGkuZm9vdGJhbGwtZGF0YS5vcmcvdjEvY29tcGV0aXRpb25zLyIsMzk0OjQwNCwiL2xlYWd1ZVRhYmxlIikNClBydWViYTwtKGZyb21KU09OKHVybHNbMV0pJHN0YW5kaW5nKVssYygzLDU6MTIpXQ0KTGlnYTwtcmVwKGZyb21KU09OKHVybHNbMV0pJGxlYWd1ZUNhcHRpb24sZGltKFBydWViYSlbMV0pDQpmb3IoaSBpbiAyOjEwKXsNClBydWViYTwtcmJpbmQoUHJ1ZWJhLChmcm9tSlNPTih1cmxzW2ldKSRzdGFuZGluZylbLGMoMyw1OjEyKV0pDQpMaWdhPC1jKExpZ2EscmVwKGZyb21KU09OKHVybHNbaV0pJGxlYWd1ZUNhcHRpb24sZGltKGZyb21KU09OKHVybHNbaV0pJHN0YW5kaW5nKVsxXSkpDQp9DQpCYXNlPWRhdGEuZnJhbWUoTGlnYSxQcnVlYmEpDQpgYGANCg0KRW4gYmFzZSBhIGxvcyBkYXRvcyBvYnRlbmlkb3Mgc2Ugb2J0aWVuZW4gbG9zIHNpZ3VpZW50ZXMgY29tcGFyYWNpb25lcyAgDQoNCiMjIyBFc3RhZO1zdGljYXMgRGVzY3JpcHRpdmFzDQoNCmBgYHtyfQ0KQUQ8LWNiaW5kKHRhcHBseShCYXNlJHBvaW50cyxCYXNlJExpZ2EsbGVuZ3RoKSx0YXBwbHkoQmFzZSRwb2ludHMsQmFzZSRMaWdhLG1pbiksdGFwcGx5KEJhc2UkcG9pbnRzLEJhc2UkTGlnYSxtYXgpLHRhcHBseShCYXNlJHBvaW50cyxCYXNlJExpZ2EsbWVkaWFuKSx0YXBwbHkoQmFzZSRwb2ludHMsQmFzZSRMaWdhLG1lYW4pLHRhcHBseShCYXNlJHBvaW50cyxCYXNlJExpZ2Esc2QpKQ0KY29sbmFtZXMoQUQpPC1jKCJOcm8uIEVxdWlwb3MiLCJN7W5pbW8iLCJN4XhpbW8iLCJNZWRpYW5hIiwiUHJvbWVkaW8iLCJEZXN2aWFjafNuIEVzdOFuZGFyIikNCmtuaXRyOjprYWJsZShBRCkNCmBgYA0KRGUgYWN1ZXJkbyBhIGxhIHRhYmxhIGFudGVyaW9yLCBsb3MgZXF1aXBvcyBkZSBsYSBzZWd1bmRhIGRpdmlzafNuIDIwMTUvMTYgdGllbmVuIHVuYSBwdW50dWFjafNuIHByb21lZGlvcyBxdWUgc3VwZXJhIGEgbGEgZGUgbG9zIGVxdWlwb3MgZGUgb3RyYXMgbGlnYSwgYWRlbeFzIGVsIGVycm9yIGVzdOFuZGFyIGVzIHVubyBkZSBsb3MgbeFzIGJham9zLCBsbyBxdWUgc2UgdHJhZHVjZSBlbiBxdWUgbG9zIHJlc3VsdGFkb3Mgb2J0ZW5pZG9zIGVuIGxvcyBlcXVpcG9zIHNvbiBtdXkgZXF1aXRhdGl2b3M7IGxhIHB1bnR1YWNp824gbeFzIGJhamEgb2J0ZW5pZGEgcG9yIHVuIGVxdWlwbyBmdWUgZW4gbGEgUHJlbWllciBMZWFndWUsIGN1eWEgcHVudHVhY2nzbiBmdWUgZGUgMTcsIGEgZGlmZXJlbmNpYSBkZSBsYSBMZWFndWUgMSBkb25kZSBzZSBwcmVzZW50YSBsYSBwdW50dWFjafNuIG3heGltYSBvYnRlbmlkYSBwb3IgdW4gZXF1aXBvLCBh+m4gYXNpIGxhIHZhcmlhYmlsaWRhZCBlbiBhcXXtIGVzIHVuIHBvY28gYWx0YSB5IGNvbnNlY3VlbnRlbWVudGUgZWwgcHJvbWVkaW8gc2UgdmUgYWZlY3RhZG8sIHJhevNuIHBvciBsYSBjdWFsIGVzIG3hcyBiYWpvIHF1ZSBlbiBvdHJhcyBsaWdhcy4gDQoNCiMjIyBSZXN1bHRhZG9zIGRlIEVuY3VlbnRyb3MgcG9yIExpZ2ENCg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpKdWVnb3M8LXRpZHlyOjpnYXRoZXIoQmFzZVssYygxLDg6MTApXSxrZXkgPSBQYXJ0aWRvcyx2YWx1ZSA9IEN1ZW50YSwgd2lucyxkcmF3cyxsb3NzZXMpDQpnZ3Bsb3QoSnVlZ29zLGFlcyh4PVBhcnRpZG9zLHk9Q3VlbnRhLGZpbGw9TGlnYSkpK2dlb21fYm94cGxvdCgpK2xhYnMoeD0iUmVzdWx0YWRvcyBkZSBFbmN1ZW50cm9zIix5PSJOcm8uIGRlIFBhcnRpZG9zIikNCmBgYA0KDQojIyMgUmVzdWx0YWRvcyBkZSBBbm90YWNpb25lcyBwb3IgTGlnYQ0KDQpBbCBvYnNlcnZhciBlbCBncuFmaWNvIGRlIG1hbmVyYSBnbG9iYWwgc2UgZXZpZGVuY2lhIG11Y2hhIHNpbWlsaXR1ZCBlbnRyZSBsYXMgZGlzdHJpYnVjaW9uZXMgZGUgbG9zIGp1ZWdvcyBnYW5hZG9zIHkgbG9zIGp1ZWdvcyBwZXJkaWRvczsgbG9zIGp1ZWdvcyBlbXBhdGFkb3MgcG9yIHN1IHBhcnRlIHNvbiBpbmZlcmlvcmVzIGVuIGN1YW50byBhIGxhIGRpc3RyaWJ1Y2nzbiBkZSBsYXMgcHVudHVhY2lvbmVzLiANCkxhIGRpZmVyZW5jaWEgc2kgbm9zIGZpamFtb3MgZW4gbGEgU2VndW5kYSBEaXZpc2nzbiBubyBlcyBtdXkgbm90b3JpYSBwdWVzIGxhcyBjYWphcyBzZSB0cmFzbGFwYW4gY2FzaSBlbiBzdSB0b3RhbGlkYWQuIEVuIGxhIFByaW1lcmEgTGlnYSBzZSBhbGNhbnphIGEgdmVyIHVuYSBsaWdlcmEgZGlmZXJlbmNpYSBlbiBjdWFudG8gYSBsYSBtZWRpYW5hIGRlIGxhcyBwdW50dWFjaW9uZXMgeSBsYXMgZGlzcGVyc2nzbiBkZSBlc3RhcywgbGEgcHVudHVhY2nzbiBtZWRpYW5hIGVzIG3hcyBiYWphIGVuIGxvcyBwYXJ0aWRvcyBnYW5hZG9zIHF1ZSBlbiBsb3MgcXVlIHNlIGhhbiBwZXJkaWRvIHkgYfpuIG3hcyBiYWphIGVuIGxvcyBlbXBhdGFkb3MuDQoNCmBgYHtyfQ0KR29sZXM8LXRpZHlyOjpnYXRoZXIoQmFzZVssYygxLDU6NyldLGtleSA9UGFydGlkb3MsdmFsdWUgPSBHb2wsZ29hbHMsZ29hbHNBZ2FpbnN0KQ0KZ2dwbG90KEdvbGVzLGFlcyh4PVBhcnRpZG9zLHk9R29sLGZpbGw9TGlnYSkpK2dlb21fYm94cGxvdCgpK2xhYnMoeD0iUmVzdWx0YWRvcyBkZSBFbmN1ZW50cm9zIix5PSJOcm8uIGRlIEdvbGVzIikNCmBgYA0KDQpFbiBlc3RlIGdy4WZpY28gc2Ugb2JzZXJ2YSB1biBjb21wb3J0YW1pZW50byBzaW1pbGFyIGVudHJlIGxhIGNhbnRpZGFkIGRlIGdvbGVzIGEgZmF2b3IgeSBlbiBjb250cmEgZW4gbGFzIGRpZmVyZW50ZXMgbGlnYXMsIGRlIGVzdGFzLCBsYSBQcmVtaWVyIExlYWd1ZSBlcyBsYSBxdWUgdGllbmUgbWF5b3IgbWVkaWFuYSBlbiBjdWFudG8gYSBsb3MgZ29sZXMgYSBmYXZvciBhdW5xdWUgbGEgZGlzdHJpYnVjafNuIGVzIGFzaW3pdHJpY2EgZGUgY29sYSBkZXJlY2hhLCB0YW1iaeluIHNlIG9ic2VydmFuIG11Y2hvcyB2YWxvcmVzIGV4dHJlbW9zIHByaW5jaXBhbG1lbnRlIGVuIGxhcyBCdW5kZXNsaWdhLCBQcmltZXJhIExpZ2EgeSBsYSBTZXJpZSBBLg0KIA0KIyMgT2J0ZW5jafNuIGRlIEluZm9ybWFjafNuIGEgdHJhdulzIGRlIFdlYiBTY3JhcGluZw0KDQpgYGB7cn0NCmxpYnJhcnkocnZlc3QpDQp1cmwgPC0gJ2h0dHA6Ly93d3cuZWxlc3BlY3RhZG9yLmNvbS9kZXBvcnRlcy9mdXRib2xjb2xvbWJpYW5vL2FzaS1xdWVkby10YWJsYS1kZS1wb3NpY2lvbmVzLWRlLXNlZ3VuZGEtZGl2aXNpb24tY29sb20tYXJ0aWN1bG8tNjYwODY1Jw0Kd2VicGFnZSA8LSByZWFkX2h0bWwodXJsKQ0Kc2JfdGFibGUgPC0gaHRtbF9ub2Rlcyh3ZWJwYWdlLCAndGFibGUnKQ0Kc2IgPC0gaHRtbF90YWJsZShzYl90YWJsZSlbWzFdXQ0Kc2JfcGFydGlkb3MgPC0gc2JbLGMoMiw0LDUsNildDQpQYXJ0aWRvcyA8LSB0aWR5cjo6Z2F0aGVyKHNiX3BhcnRpZG9zLCBrZXkgPSBSLlBhcnRpZG9zLCB2YWx1ZSA9IEN1ZW50YSxQLkcsUC5FLFAuUCkNCmBgYA0KDQoNCiMjIyBHcuFmaWNvcyBkZSBCYXJyYXMgZGUgUmVzdWx0YWRvcyBQYXJjaWFsZXMNCkVuIGJhc2UgYSBsb3MgZGF0b3Mgb2J0ZW5pZG9zLCB0ZW5lbW9zOg0KDQpgYGB7cn0NCkdfUGFydGlkb3MgPC0gZ2dwbG90KFBhcnRpZG9zICwgYWVzKHggPSBDdWVudGEgLCBmaWxsID0gUi5QYXJ0aWRvcykpDQpHX1BhcnRpZG9zICsgZ2VvbV9iYXIoKSArbGFicyh4PSJSZXN1bHRhZG9zIGRlIEVuY3VlbnRyb3MiLHk9IkZyZWN1ZW5jaWEiKSArIA0KdGhlbWUoYXhpcy50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemUgPSA3ICwgYW5nbGUgPSAyNSkpDQoNCmBgYA0K