R语言数据可视化案例(世界杯球员信息数据可视化)
世界杯球员案例数据预处理
世界杯球员案例
在 faraway 包中包含一个名为 worldcup 的数据集(加载 faraway 包后,可通过代码“head(worldcup)”查看数据的前 5 行,该数据集是 2010 年世界杯上球员的信息数据,每个变量所表示的信息如下: Team: 国家 Position:位置,包括后卫、前锋、守门员、中场 Time: 上场总时间 Shots: 射门的次数 Passes:传球次数 Tackles:铲球次数 Saves: 救球次数
数据预处理
数据概况:
> head(world)
Team Position Time Shots Passes Tackles Saves
Abdoun Algeria Midfielder 16 0 6 0 0
Abe Japan Midfielder 351 0 101 14 0
Abidal France Defender 180 0 91 6 0
Abou Diaby France Midfielder 270 1 111 5 0
Aboubakar Cameroon Forward 46 2 16 0 0
Abreu Uruguay Forward 72 0 15 0 0
该数据集中,数据集包含595个样本,共有7个特征。其中Team,Postition是分类变量,后面的都是数值型变量,其中行名是球员名字。
导入需要的包和数据集 ,导入需要的包和数据集;
library(faraway)
library(ggplot2)
head(worldcup)
attach(worldcup)
?worldcup
world=worldcup
上场时间和传球数量的关系
#给散点图变成以颜色做区分位置队伍
p <- ggplot(data=world, mapping=aes(x=world$Time, y=world$Passes, shape=world$Position, colour=world$Team))
p+geom_point()
运行结果
由图形可看出,各球员上场时间多集中于 400 以内,传球次数也对应集中于 200以内,其中 Midfifielder 位置的上场时间和传球次数较为出众。同时一定程度上,上场时间越长,传球数越大。 3. 不同位置射门次数直方图
#不同位置射门次数直方图
ggplot(world)+geom_histogram(aes(x=world$Shots))
ggplot(world)+geom_histogram(aes(x=world$Shots, fill=world$Position))
运行结果 由图可发现,大部分球员射门次数集中于 5 个以内,其中 Defender 射门次数较少,而 Forward 射门表现较为优异,符合常理。 4. 不同队伍射门次数直方图
#不同队伍射门次数直方图
ggplot(world)+geom_histogram(aes(x=world$Shots, fill=world$Team))
ggplot(world)+geom_histogram(aes(x=world$Shots, fill=world$Team), position="dodge")
运行结果 5. 不同队伍射门次数直方图
#箱型图
ggplot(world)+geom_boxplot(aes(x=world$Team, y=world$Shots,fill=world$Team))+coord_flip()#不同队伍射门次数
运行结果 由图可知 Brazil 队射门次数平均较高,但无极端异常高的值,可推测其与队伍战术风格有关,以进攻为主,但各队员水平相近,表现稳定,而 Ghana 等队虽然整体平均还行,但是有一个极端高值,可推测是有球员表现尤为优异,带动队伍射门进攻。 6. 绘制球员分布国家地图可视化
n=rep(1,595)#设定重复的1
world=cbind(world,n)
number<-aggregate(x = world$n, by= list(world$Team), FUN = sum)#计算各个国家球员数
colnames(number)<-c("nation","number")
library(map)
library(REmap)
result <- remapC(number,
maptype = 'world',
color = 'red',
theme = get_theme('Sky'),
maxdata = 20,
mindata = 14)
print(result)
运行结果 可通过地理信息数据发现,球队主要来源于西半球,各队伍成员数量较为相近,无过于显著的差异。 其中,安装REmap时,常规方式安装会报错,可利用下面方式解决:
install.packages("devtools")
library(usethis)
library(devtools)
install_github("Lchiffon/REmap")
library(REmap)
绘制球员人数分布直方图
#分布直方图
par(mai=c(0.9, 0.9, 0.6, 0.3)) #图形边缘空白(边距)的宽度
hist(number$number, col="lightblue", border="red", labels = TRUE,ylim=c(0, 20),main="运动会各队总人数分布")
运行结果 可发现人数分布服从近似正态分布。 8. 对不同位置人员进行上场时间与射门次数的分析
#对不同位置人员进行上场时间与射门次数的分析
ggplot(worldcup,mapping = aes(x=Time,y=Shots,colour = Position))+geom_point()
运行结果 由图可发现,Forward 的射门次数都较高于其他位置,符合常理。 9. 国家与射门次数之间的关系
#国家与射门次数之间的关系
ggplot(world,aes(x=world$Team,y=world$Shots,fill=world$Team))+
theme_bw(base_family="STKaiti")+
geom_bar(aes(fill=rownames(worldcup)),stat="identity",show.legend=F)+
coord_flip()
运行结果 从整体来看,Spain 总的射门次数最多,可看出在比赛中处在上风。Honduras 较少处于劣势。 10. 每个运动员上场时间及射门次数关系
library(treemap);
library(readr);
library(dplyr)
plays<-as.data.frame(rownames(world))#每个球员上场时间
plays<-cbind(plays,world$Time,world$Shots)#球员对应上场时间及射门
colnames(plays)<-c("player","time","shots")
treemap(plays,index = c("player"),vSize = "time", vColor= "shots",type="value",palette="RdYlGn",
title = "每个运动员上场时间及射门次数关系",fontfamily.title = "STKaiti",
title.legend= "数量",fontfamily.legend="STKaiti")
运行结果 图形宽度代表上场时间,颜色深浅代表射门次数。可发现 Gyan,Villa 球员上场时间多,射门次数也多,是团队核心成员,而 Jong Tae-Se 上场时间中等,但射门次数较多,是很有潜力的成员。通过这个图寻找核心成员,同时挖掘潜力成员。 11. 球员上场时间分布图
#球员上场时间分布图
ggplot(worldcup,aes(x=reorder(rownames(worldcup),Time),y=Time))+
theme_bw(base_family="STKaiti")+
geom_bar(aes(fill=Time),stat="identity",show.legend = F)+
coord_flip()+scale_fill_gradient(low="#56B1F7",high ="#132B43")+
labs(x="球员",y="各个球员上场总时间分布",title="上场时间")+
theme(axis.text.x =element_text(vjust = 0.5),plot.title=element_text(hjust=0.5))
运行结果 12. #位置、射门、救球、传球、铲球之间的关系(散点矩阵图)
#位置、射门、救球、传球、铲球之间的关系
library(GGally)
ggpairs(world[,1:7],columns=c(2,4:7),aes(color=Position),alpha=0.8)+
theme_bw(base_family="STKaiti",base_size=10)+
theme(plot.title=element_text(hjust=0.5))+
ggtitle("散点矩阵图")
运行结果 由这个图可以得到许多信息。可发现后卫数量是最多的,而门卫是数量最少的。同时可看出,四个位置的传球数,射门数等都服从偏态分布。Tackles 后卫表现突出,Shots 前锋表现突出.符合常理。
- 中国男足与爱尔兰友谊赛前瞻:历史交锋、战术分析与球迷期待 本周六,中国国家男子足球队将在都柏林与爱尔兰队进行一场备受瞩目的友谊赛。这场比赛不仅是两队时隔8年再度交手,更是新任中国主帅伊...
- 世界杯史上最坚强的球员:传奇背后的不屈精神 在世界杯的舞台上,每一位球员都是英雄,但有些球员的故事却格外令人动容。他们或许不是技术最出色的,也不是天赋最强的,但他们用坚韧...
- 世界杯篮球赛场上的尴尬瞬间:视频回顾那些让人捧腹的失误在激烈的篮球比赛中,每个球员都力求完美,但在高速对抗和高强度竞争之下,有时也会出现一些让人忍俊不禁的尴尬时刻。最近,一段汇集了...
- 巴西足球传奇:盘点历史上十大最具影响力的球员转会交易 桑巴军团转会风云录 巴西足球向来是世界足坛的瑰宝,无数天才球员从这里走向世界舞台。今天我们就来回顾那些震撼足坛的巴西球员转会...
- 泰国球迷狂欢夜:中文解说如何点燃当地世界杯观赛热情? 当泰国的夜市遇上中文解说 凌晨三点的曼谷考山路,大排档的霓虹灯与投影屏幕交相辉映。留着泰式莫西干头的小伙阿努蓬举着啤酒杯高喊...
- 绿茵场外的垂钓高手:盘点世界杯历史上那些痴迷钓鱼的足球巨星 当足球遇见鱼竿:球星们的另类人生 在世界杯的赛场上,我们总能看到球员们挥洒汗水的英姿。但鲜为人知的是,许多顶级球星在训练之余...
- 世界杯完场什么意思?深入解析足球比赛中的完场规则与常见误区每当世界杯如火如荼进行时,总有不少新球迷会对解说员说的"完场"一词感到困惑。今天我们就来彻底搞懂这个足球术语背后的门道。一、完场...
- 齐达内:从皇家马德里传奇中场到世界杯足坛巨星的辉煌历程在足球世界里,有这样一位传奇人物,他不仅在俱乐部赛场上创造了无数辉煌,更在国家队的舞台上留下了不可磨灭的印记。他就是齐内丁·齐...
- 《实况足球2017十大神级球员推荐:这些隐藏妖人让你轻松制霸天梯赛》 实况2017那些被低估的实战王者 作为实况足球系列的经典之作,《PES2017》至今仍被许多硬核玩家津津乐道。今天我们就来盘点游戏中那些数...
- 南安儿童篮球比赛火热开赛:小球员们的汗水与梦想在球场绽放 上周六,南安市体育中心迎来了一场充满活力的儿童篮球比赛。来自全市12所小学的近百名小球员齐聚一堂,在欢呼声中展开激烈角逐。这场...