前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一起来约G7~R语言探索约基奇数据的简单小例子

一起来约G7~R语言探索约基奇数据的简单小例子

作者头像
用户7010445
发布2020-09-22 17:03:06
4040
发布2020-09-22 17:03:06
举报

掘金又赢了,硬生生把系列赛从3比1打成了3:3,于是大家都来调侃说

约基奇(约G7)的名号可不是白叫的!哈哈哈哈

那作为一个喜欢篮球的R语言初学者,当然不能只看比赛了,还要把约基奇的常规数据探索学起来!

数据来源

https://www.statmuse.com/nba/player/nikola-jokic-9226/career-stats

加载可能用到的包
代码语言:javascript
复制
library(xml2)
library(rvest)
library(reshape2)
library(ggplot2)
library(dplyr)
读取数据

打开数据来源的链接,鼠标点击右键检查,将内容复制到文本文件中,我这里命名为new1.txt

代码语言:javascript
复制
page<-read_html("new1.txt")
Jokic<-html_table(page,fill=T)
Jokic[[9]]
list(Jokic)
df1<-Jokic[[9]]
colnames(df1)
首先看一看约基奇5个赛季常规赛的首发出场次数、场均出场时间、场均出手次数、命中率的变化趋势

散点图加折线图

代码语言:javascript
复制
df1_1<-df1[1:5,]%>%
  select(Season,GS,MIN,FGA,"FG%")
df1_1
df1_1<-melt(df1_1)
head(df1_1)
ggplot(df1_1,aes(x=Season,y=value,color=variable))+
  geom_point(size=5)+
  geom_line(aes(group=1))+
  facet_wrap(~variable,scales = "free")+
  theme_bw()+
  theme(legend.position = "none")+
  labs(x="",y="")

Rplot.png

从上图我们可以看到约基奇的命中率在17-18赛季最低,最近两个赛季在稳步上升,出手次数在19-20赛季略有下降,但出手次数整体是上升趋势,侧面反映约基奇从一个二轮秀到逐渐成为掘金队进攻核心的过程。场均出场时间17-18赛季达到最大值,恰好也是命中率最低的一个赛季,那我们可以合理猜测一下,要想最大效率的发挥约基奇的作用,应该合理安排他的出场时间。毕竟这桶行走的百岁山体力问题可能是一个较大的困扰。

接下来看一下得分、助攻、篮板、抢断、失误的数据
代码语言:javascript
复制
df1_2<-df1[1:5,]%>%
  select(Season,PTS,REB,AST,TOV,BLK)
df1_2<-melt(df1_2)
ggplot(df1_2,aes(x=Season,y=value,color=variable))+
  geom_point(size=5)+
  geom_line(aes(group=1))+
  facet_wrap(~variable,scales = "free",ncol=3,nrow=2)+
  theme_bw()+
  theme(legend.position = "none",
        axis.text.x = element_text(angle=60,vjust=0.5))+
  labs(x="",y="")

Rplot01.png

从上图我们可以看到约基奇的得分、篮板、助攻数据在18-19赛季达到最大值,19-20赛季略呈下降趋势。可能的原因有很多,这里我猜可能是休赛季参加世界杯没有得到充足的休息导致的。

我们知道约基奇在场上的作用是组织核心,接下来看看在19-20赛季季后赛中约基奇的得分、助攻与比赛胜负的关系

数据来源是 https://www.basketball-reference.com/players/j/jokicni01/gamelog-playoffs/

代码语言:javascript
复制
df2<-read.csv("new2.txt",header=F,
              stringsAsFactors = F)
df2_1<-df2%>%
  select(V3,V9,V11,V13,V14,V24,V29)
colnames(df2_1)<-c("Game","w_or_l","MIN","FGA","FG%","AST","PTS")
head(df2_1)
df2_1$w_or_l<-stringr::str_sub(df2_1$w_or_l,1,1)
df2_1$MIN<-stringr::str_sub(df2_1$MIN,1,2)
df2_1$MIN<-as.numeric(df2_1$MIN)
head(df2_1)
df2_1<-melt(df2_1,ids=c("Game",'w_or_l'))
head(df2_1)
ggplot(df2_1,aes(x=Game,y=value,color=w_or_l))+
  geom_point(size=5)+
  geom_line(aes(group=1))+
  facet_grid(variable~.,scales = "free")+
  theme_bw()+
  theme(
        legend.title = element_blank(),
        axis.text.x = element_text(angle=60,vjust=0.5))+
  labs(x="",y="")

Rplot03.png

比赛的胜负是诸多因素共同作用的结果,单纯从得分、及助攻等数据很难看出对比赛胜负的影响,除非你的队中有一位叫做波普的运动员。

最后看一看约基奇19-20赛季季后赛和常规赛的数据对比
代码语言:javascript
复制
list(Jokic)
df3<-Jokic[[7]]
df3
colnames(df3)[1]<-"Game"
colnames(df3)
df3_1<-df3[1:2,]%>%
  select(Game,MPG,PPG,RPG,APG,BPG,TPG,"FG%","3P%","FT%")
df3_2<-melt(df3_1)
df3_2
df3_2$Game<-stringr::str_replace(df3_2$Game,"2019-20 ","")
ggplot(df3_2,aes(x=Game,y=value,fill=Game))+
  geom_bar(stat="identity",width=0.5)+
  facet_wrap(~variable,scales = "free")+
  theme_minimal()+labs(x="",y="")+
  theme(legend.position = "top",
        legend.title = element_blank())

Rplot04.png

从上图可以看到 场均上场时间(MPG),场均得分(PPG)、场均盖帽(BPG)、三分命中率(3P%)季后赛的表现均高于常规赛。场均助攻数(APG)略少于常规赛,场均失误(TPG)也略多于常规赛。

好了今天的内容就到这里了。祝福约基奇在G7可以带队取得胜利。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载可能用到的包
  • 读取数据
  • 首先看一看约基奇5个赛季常规赛的首发出场次数、场均出场时间、场均出手次数、命中率的变化趋势
  • 接下来看一下得分、助攻、篮板、抢断、失误的数据
  • 我们知道约基奇在场上的作用是组织核心,接下来看看在19-20赛季季后赛中约基奇的得分、助攻与比赛胜负的关系
  • 最后看一看约基奇19-20赛季季后赛和常规赛的数据对比
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档