前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据可视化有意思的小例子:使用R语言探索NBA球星库里常规赛的数据

数据可视化有意思的小例子:使用R语言探索NBA球星库里常规赛的数据

作者头像
用户7010445
发布2021-12-10 11:38:07
7800
发布2021-12-10 11:38:07
举报

数据集来自于kaggle

https://www.kaggle.com/mujinjo/stephen-curry-stats-20092021-in-nba

数据集里收集了NBA勇士队当家球星库里09-21赛季常规赛的数据,总共是761场比赛的数据

数据来源 espn

https://www.espn.com/nba/player/gamelog/_/id/3975/type/nba/year/2010

数据爬取的python代码链接

https://www.kaggle.com/mujinjo/making-curry-stats-dataset-mjjo

选取数据

接下来的探索用到的数据集变量有

  • 赛季
  • 对手
  • 胜负
  • 命中数
  • 出手次数
  • 三分命中数
  • 三分出手次数
  • 罚球命中数
  • 罚球次数
  • 篮板
  • 助攻
  • 盖帽
  • 抢断
  • 个人犯规次数
  • 失误
  • 得分
代码语言:javascript
复制
library(tidyverse)
df<-read.csv("Curry/Stephen Curry Regularseason Stats.csv",
             header=T)
head(df)
dim(df)
colnames(df)

df %>% 
  select(1,4,5,8,10,11,14,15,18,19,21:27) -> dfa

首先来看看库里常规赛的胜率

代码语言:javascript
复制
table(dfa$Result)

image.png

胜率高达65%

接下来看看库里面对不同对手的胜率

代码语言:javascript
复制
library(ggplot2)

table(dfa$OPP,dfa$Result) %>% 
  as.data.frame() %>% 
  ggplot(aes(x=Var1,y=Freq,fill=Var2))+
  geom_bar(stat="identity",position = "dodge")+
  theme_bw()+
  scale_y_continuous(expand = c(0,0),
                     limits = c(0,30))+
  theme(legend.position = "top",
        legend.title = element_blank(),
        panel.grid = element_blank())+
  scale_fill_manual(values = c("#5a72b5",
                               "#ea5a49"))+
  labs(x=NULL,y=NULL)+
  geom_rect(aes(xmin=2.5,xmax=3.5,ymax=29,ymin=0),
            fill="white",alpha=0,color="black",
            lty="dashed")+
  ggsave("1.pdf",
         width = 9.4,
         height = 4,
         family="serif")

image.png

我们可以看到面对不同的对手库里都是胜多负少,唯独有一个例外,就是面对凯尔特人是打了一个平手

接下来再来看看库里每个赛季的得分情况

代码语言:javascript
复制
library(tidyquant)
library(patchwork)
x1<-palette_dark()
colors<-matrix(x1)[,1]
dfa %>% 
  ggplot(aes(x=Season_year,y=PTS))+
  geom_jitter(width = 0.2,
              aes(fill=Season_year),
              size=5,
              shape=21,
              color = "#FFDADC")+
  scale_fill_manual(values = colors)+
  theme_bw()+
  theme(legend.position = "none",
        panel.grid = element_blank(),
        axis.text.x = element_text(angle = 60,
                                   hjust=1))+
  labs(x=NULL,y=NULL) -> p1

image.png

接下来添加一个库里的大头贴

代码语言:javascript
复制

here::here("Curry","i.png")
img<-data.frame(x=2,y=55,
                img=here::here("Curry","i.png"))
p1+ggimage::geom_image(data=img,
                       aes(x,y,image=img),
                       size=0.3)+
  ggsave("3.pdf",
         width = 8,
         height = 6,
         family="serif")

image.png

可以看到库里在20-21赛季创造了生涯最高得分,新秀赛季就轰下过40分+。19-20赛季只出战了很少的比赛。

好了,今天的内容就暂时想到这里了,预知后事如何,请听下回分解

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据集来自于kaggle
  • 选取数据
  • 首先来看看库里常规赛的胜率
  • 接下来看看库里面对不同对手的胜率
  • 接下来再来看看库里每个赛季的得分情况
  • 接下来添加一个库里的大头贴
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档