用R语言进行NBA赛况分析
本文中的数据案例来自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")
相关文章