作者:徐麟,数据分析师,就职于上海唯品会。热爱数据挖掘和分析,喜欢用R、Python玩点不一样的数据。个人公众号:数据森麟(微信ID:shujusenlin)

往期回顾:

同花顺股票分数可视化 | R爬虫&可视化第3季

近三十年6000部国产电视剧告诉了我们些什么 | R爬虫&可视化第四季

前言

R爬虫&可视化系列文章来到了第五季,我们来聊聊欧洲足球五大联赛。本人作为一个不会踢球的资深球迷,俗称“懂球帝”,今天就与大家用数据分析一下2017-2018赛季欧洲五大联赛的各项指标。

数据爬取

本次数据爬取我们选择的是虎扑网站,虎扑网站作为大型的体育类资讯网站,可以作为足球类数据的来源。爬取分为两部分,球员资料和比赛统计,比较好的一点是虎扑网站上的数据是以表格形式进行存储,如下图所示:

上图中由于虎扑球队信息更新不是特别及时,我们会在后期把这部分数据和比赛数据做inner join。循环爬取表格的方法基本上是相似的,下面只展示其中一场比赛的数据爬取,球员基本信息爬取与其类似:

  1. i=10854899 ##网站比赛编号,作为循环因子即可

  2. url <- sprintf('https://g.hupu.com/soccer/data_%d.html',i)

  3. temp <- getURL(url,.encoding='utf-8')

  4. doc <-htmlParse(temp)

  5. players <- readHTMLTable(doc)

  6. home <- players$table_home_players_stats

  7. away <- players$table_away_players_stats

  8. ## 判断数据是否爬取,home_row,away_row均大于1说明数据成功爬取

  9. home_row <- nrow(home)

  10. away_row <- nrow(away)

数据分析

PART1:五大联赛比赛数据对比

首先我们通过几个维度对比五大联赛比赛的特点,在pc端我们使用subplot将四幅对比图放在一起,使得对比更加直观:

通过以上指标我们发现英超的球队平均每场犯规次数远低于其他四大联赛,黄牌数量也较少,这与英超宽松的吹罚尺度有着密切的联系。西甲的越位和黄牌数量在五大联赛中均处于领先位置,严格的吹罚尺度更加有利于技术流的发展。

法甲的整体射门转化率在五大联赛中处于最低位置,一方面是由于一些神级门将的发挥(上届世界杯有着神级发挥的奥乔亚就曾在法甲让大巴黎37脚射门仅进1球),另一方面想必法甲也培养了一批的“吐饼王”。

部分代码如下:

  1. ## 球队平均每场犯规数绘制,其他图同理

  2. p1 <- ggplot(league_stat,aes(x=联赛,y=平均每队犯规,fill=联赛))+

  3.    geom_boxplot()+

  4.    scale_color_few()+theme_economist()+ggtitle('球队平均每场犯规数')+

  5.    theme(axis.title = element_blank(),

  6.          plot.title = element_text(hjust=0.5,size=17),

  7.          axis.text.x = element_text(size = 15),

  8.          legend.position = 'NONE')  

  9. ## 设置subplot的行、列数

  10. grid.newpage()

  11. pushViewport(viewport(layout=grid.layout(2,2)))

  12. vplayout<-function(x,y){viewport(layout.pos.row =x,layout.pos.col=y)}

  13. ## 将ggplot放置在subplot中

  14. print(p1,vp=vplayout(1,1))

  15. print(p2,vp=vplayout(1,2))

  16. print(p3,vp=vplayout(2,1))

  17. print(p4,vp=vplayout(2,2))

PART2:球员对比

我们首先挑选四项重要指标,进球效率,助攻效率,被犯规频率和扑救成功率的TOP20。其中被犯规频率需要考虑到联赛整体的吹罚尺度,所以计算时会乘以联赛的吹罚系数。下面战死四项指标的组合图:

进球效率TOP5:卡瓦尼,法尔考,伊卡尔迪,因莫比莱,迪巴拉

助攻效率TOP5:格德斯,夸德拉多,皮亚尼奇,博格巴,达胡德

被犯规速率TOP5:内马尔,巴恩斯,桑切斯,埃尔南德斯,萨尔

扑救成功率TOP5:奥布拉克,波普,特尔施特根,德赫亚,纳瓦斯

内马尔在对手眼中是个极大的威胁,帮助他最常被侵犯排行榜TOP1,希望内少保重身体,明年世界杯就要来了。格德斯和奥布拉克分列助攻和扑球榜榜首,想必已经引起各大豪门的注意。

之前被诟病的卡瓦尼此次荣登进球效率榜首尾有些出人意料,看来大家的直觉和数据本身有时会有偏差。

另外一个大家很关心的问题就是谁拥有球队绝对开火权,我们选取了射门数量占全队百分比的TOP20,并且对比其射门转化率:

梅西、凯恩、C罗、巴洛特利、哲科分列前五位,可见其在球队的地位,巴神在TOP5中射门转化率最高,看来近期状态不错。C罗可能是把进球的感觉都留在了杯赛中,联赛射门转化率不甚理想。

汤姆因斯和卡罗尔两位的射门转化率均为0,这并不是数据缺失,而是这两位确实没有进球,下半赛季两位都需要做出改变。

这部分代码涉及到了melt函数,如下所示:

  1. ord <- order(player_stat$射门占比,decreasing = TRUE)

  2. player_stat_shemen <- player_stat[ord,][1:20,]

  3. player_stat_shemen <- melt(player_stat_shemen,id=c('球员名','射门占比'),

  4. measure=c('射门占比','射门转化率'))

PART3:联赛球员属性对比

我们最后看一下各大联赛球员的属性,重点是对比年龄和国籍分布情况,首先我们看一下五大联赛整体的对比情况:

五大联赛中英超外籍球员出场占比,上场球员平均年龄两项指标均高于其他几大联赛。对此本公众号推测足协正是看到了“欧洲中国队”联赛的现状,所以制定出了“标新立异“的u23和外援新政。

最后我们用地图的视角看一下五大联赛的球员国籍分布:

以西甲静态图为例,颜色深浅表示不同国籍的球员出场总时长情况:

下面是五大联赛的动态GIF图表,由于公众号图片上传大小的限制,所以可能看的不是特别清晰,每次图片的切换代表不同联赛之间的切换:

该部分重要代码如下:

  1. p <- echartr(huizong,x=英文名,y=总时间,type='map_world',

  2.    t=联赛,subtype="move + scale")%>%

  3.    setDataRange(valueRange=c(0,20000))


动态图中可以看到,各大联赛的球员国籍分布还是存在些许的差异,在此就不进行详细的展开说明。关于五大联赛的分析暂时就到这里,后续大家关于这方面有更多分析的点可以留言进行交流。

公众号后台回复关键字即可学习

回复 R               R语言快速入门免费视频 
回复 统计          统计方法及其在R中的实现
回复 用户画像   民生银行客户画像搭建与应用 
回复 大数据      大数据系列免费视频教程
回复 可视化      利用R语言做数据可视化
回复 数据挖掘   数据挖掘算法原理解释与应用
回复 机器学习   R&Python机器学习入门

图解欧洲足球五大联赛 | R爬虫可视化第五季相关推荐

  1. 同花顺股票分数可视化 | R爬虫可视化第3季

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 本文作者:天善智能社区专家徐麟 天善智能社区地址:https://www.hel ...

  2. 卫视实时收视率对比 | R爬虫可视化第1季

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 本文作者:天善智能社区专家徐麟 天善智能社 ...

  3. 近三十年6000部国产电视剧告诉了我们些什么 | R爬虫可视化第四季

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 本文作者:天善智能社区专家徐麟 天善智能社区地址:https://www.hel ...

  4. R爬虫可视化第四季-近三十年6000部国产电视剧告诉了我们些什么

    前言: 距离上次发公众号有将近一个月的时间,在此十分感谢大家对于本公众号的大(mei)力(you)支(qu)持(guan).在这里要感谢鹅厂给了本公众号原创声明功能邀请,从本期开始大家可以直接在文章下 ...

  5. Python爬虫可视化第1季-城市旅游数据分析

    前言: 本着跟大家一同探讨学习的态度,今后几期文章会更新一些用python实现爬虫&可视化的文章.Python对于本人来讲也是一个在逐渐学习掌握的过程,这次的内容就从旅游开始讲起,进入正文前首 ...

  6. Python爬虫可视化第2季-舌尖上的“小龙虾”

    前言: 上期内容与大家分享了一些旅游的内容,从本期开始,会陆续分享一些为吃货们量身定制的文章.世界杯激战正酣,大家在欣赏精彩比赛的同时,怎能少了美食的陪伴,我们今天就来聊聊世界杯的好丽友-小龙虾. P ...

  7. python足球数据可视化_欧洲足球,5大联赛!Python爬虫数据可视化带你解析经典赛事...

    前言: R爬虫&可视化系列文章,我们来聊聊欧洲足球五大联赛.本人作为一个不会踢球的资深球迷,俗称"懂球帝",今天就与大家用数据分析一下2017-2018赛季欧洲五大联赛的各 ...

  8. 数据采集+简易分析:(欧洲五大联赛2010--2018)1万5千场球赛的欧盘分析

    相信很多喜欢看足球比赛的朋友都有过买足彩的经历,而且很多老彩民都会有自成一套的分析方法,如盘口分析,球员首发分析,大小球分析等等.(但是好像都不太凑效...) 那么接下我将会采集网易彩票网站里的数据, ...

  9. 【正一专栏】欧洲五大联赛猜想(二)西甲冠绝欧洲英超继续混战

    欧洲五大联赛猜想(二)西甲冠绝欧洲英超继续混战 英超和西甲一直是欧洲五大联赛的翘首,英超商业化程度最高观众最多,西甲因为有巴萨和皇马两大豪门,这些年更是一直统治欧洲.本赛季西甲冠军和英超冠军,现在都还 ...

  10. 【正一专栏】欧洲五大联赛猜想(一)德法意班霸集结寻求欧冠突破

    欧洲五大联赛猜想(一)德法意班霸集结寻求欧冠突破 新赛季的欧洲五大联赛正紧锣密鼓地开幕,上周法甲已经率先开赛,本周英超进入新赛季的征程,在揭幕战酣畅淋漓的对攻中阿森纳主场4:3战胜了莱斯特城,为又一个 ...

最新文章

  1. dom4j读写xml文件
  2. 监听列表ListVIew的滑动状态
  3. spark内核揭秘-09-RDD的count操作 触发Job全生命周期-01
  4. DM8168 DMM(2)
  5. 7-11便利店都脏成这样了,我的午饭还靠它
  6. 如何给main传参数
  7. MyEclipse中背景颜色的设定
  8. 已知传递函数,求幅频响应?
  9. vim 查找相同行 删除向同行
  10. ASP.NET WEB API简介
  11. 16行,使用Python制作简易版QQ自动回复机器人(windows版)
  12. 移动端页面SEO优化需要注意的10个要点
  13. win10清理C盘空间
  14. 数据结构之树从入门到如土(四)----从零开始入门Rust实现一颗B树(未完成待续)
  15. C Primer Plus 第六版---编程练习2
  16. csdn博客栏目装修大全------如何植入“微信打赏”、“微信公众号”等
  17. 插入雷蛇鼠标 2 分钟,即可获得 Windows 10 管理员权限?
  18. WPS配置mathtype
  19. Nt系列函数与Zw系列函数的关系
  20. 清华领军计划计算机试题,清华大学领军计划测试物理试题含答案

热门文章

  1. 再见收费的 XShell,我改用国产良心工具,完全免费!
  2. 通过Java技术手段,某程序员发现自己被绿了!
  3. 碉堡了,独家首发Java核心知识点总结,超全!
  4. 架构篇:什么是微服务架构 Spring Cloud?
  5. GitHub 官方终于要出 App 了!手机上也能改Bug了...
  6. 100w条数据插入Mysql 数据库,耗时仅10s
  7. 离职10天,面了4家公司,我的感受...
  8. 新浪微博王传鹏:微博推荐架构的演进
  9. 如果一小时后永久断网,你会干嘛?
  10. Linux 之父怒斥:一些“安全人士是TMD的白痴!”