用R语言进行NBA赛况分析

2020-06-16 00:00:00 数据 分析 变量 球员 投篮
本文中的数据案例来自kaggle,下面附上案例主页的链接NBA shot logs | Kaggle感兴趣的朋友可自行下载原始数据进行分析。

首先起了一个很唬人的名字“用R语言进行NBA赛况分析”,写代码之前本以为可以分析出很多东西,然而作为一个小白吭哧吭哧一下午只得到了一点点成果,下面和大家分享。

设立目标:

首先来看一下原始数据:

共有21个变量和将近13万个观测,目前的水平还无法对如此庞大的数据进行整体分析,因此我将只选出其中的一部分数据来进行分析,而选择哪些数据又取决于我的分析目标,所以在我拿到原始数据后的件事就是确立分析目标:

数据预处理:

确立目标之后即可对数据进行预处理:


数据中包含了很多场比赛的信息,这里我只对其中一场进行分析,通过变量GAME_ID选择我想要的场次,再根据我的分析目标选择变量,下面是对我选择的变量的解释说明:

#加载包
  library(dplyr)
  library(magrittr)
  library(ggplot2)
  library(ggthemes)
  library(reshape2)

#数据预处理
#挑选数据
  NBA<-filter(shot_logs,GAME_ID==21400899)
  NBA<-select(NBA,GAME_ID,LOCATION,SHOT_NUMBER,PERIOD,
            SHOT_DIST,PTS_TYPE,SHOT_RESULT,player_name)
  
#将原数据SHOT_RESULT变量中的missed和made用0和1代替  
  NBA$SHOT_RESULT[NBA$SHOT_RESULT=="made"]<-1
  NBA$SHOT_RESULT[NBA$SHOT_RESULT=="missed"]<-0
  
#将SHOT_RESULT转成数值型
#计算每次投篮得分情况,添加到数据框中
  NBA$SHOT_RESULT<-as.numeric(NBA$SHOT_RESULT)
  NBA$PTS<-NBA$SHOT_RESULT*NBA$PTS_TYPE

#将两支球队分组
  NBA_A<-filter(NBA,LOCATION=="A")
  NBA_H<-filter(NBA,LOCATION=="H")

相关文章