R来阐明林书豪
当前位置:以往代写 > 其他教程 >R来阐明林书豪
2019-06-14

R来阐明林书豪

R来阐明林书豪

此刻网络上更为炙手可热的人物恐怕就是NBA新星林书豪(Jeremy Lin)了,可是俗话说:不怕不识货,就怕货比货。这位初生牛犊与其它NBA巨星对比,到底有何等优秀?尚有几多差距?照旧让数字来措辞吧。首先从这里下载2011-2012NBA赛季的球员数据,该数据中共有四百位球员,取得分最多的前一百位球员,将其数据拷贝到Excel中,并将林同学的数据添加在最后,删除了所属球队和排名之后我们获得了一个CSV数据文件。数据中的变量说明附后。

第一步:我们先画出这些变量的相干系数图,以剔除一些冗余的变量,从下图可看到深兰色方块即暗示两组数据间有较强正相关,那么我们只需取个中一组数据即可,譬喻TRB(篮板总数)就可以取代ORB/DRB/BUK。由此我们提取MP/FGA/FGP/X3PP/FT/FTP/TRB/AST/STL/PF/TOV/PTS这12个变量作进一步处理惩罚。
 第二步:别离绘制这些变量的箱线图,并调查林同学在一百位NBA球员中的位置。但需要留意的是,林同学作为崭露头角的新星,上场时间较少。为了公正的较量在单元时间内的各项指标,需要将一些指标按上场时间举办平均化处理惩罚。譬喻将总得分数除以进场时间,但其它一些指标如进球率则保存稳定。
 上面的箱线图中赤色的点即代表林书豪,可调查到他在助攻(AST.MP)和得分本领(PTS.MP)方面表示优秀,在得球时机(FGA>MP)和掷中率(FTP)方面亦属上佳,三分球掷中率(X3PP)和罚球掷中率(FGP)则属下乘,并且失误(TOV.MP)数字也相当的多。那么蓝色的点,你知道是代表哪一位球员吗?那就是今朝的得分王科比。仔细较量一下吧。

第三步:上面临各指标别离举办了一维的较量,下面用多维标度阐明要领,将多维空间的工具简化到低维空间举办定位和阐明。提取前两维绘制成散点图如下。个中赤色点暗示是林同学的位置,而蓝色点则是总得分排名前十位的球员。从图上好像可以获得令人受惊的结论,那就是林同学险些可与这十位巨星球员归为一类了。
 结语:对篮球和数字感乐趣的同学可以作进一步的研究。但有几点需要留意的是:1、外貌的数字不必然代表球员本领,原因正如笔者在体育数据挖掘一文中提到过的;2、林同学上场时间还不多,样本太少,不必然具有代表性;3、上面是将林同学和一百位NBA球员举办较量,符合的作法还应该将他与打同一位置的球员加以比对。但这个数据中并未包括此信息。

R代码:

#读取CSV数据文件
data <- read.csv('d:/nba.csv',sep=',')
summary(data)
#绘制变量间的相干系数图
library(corrgram)
corrgram(data[,c(-1,-2)])
#将几个指标除以上场时间,再合成为新的数据
temple.data <- sapply(data[c('FGA','FT','TRB','AST','STL','PF','TOV','PTS')],function(x) x/data['MP'])
newdata1 <- cbind(data[c('FGP','X3PP','FTP')],as.data.frame(temple.data))
#对数据举办融合以利便ggplot2画图
library(reshape)
newdata2 <- melt(newdata1)
library(ggplot2)
#提取林书豪与科比的数据
lindata<-melt(newdata1[101,])
kobedata <-melt(newdata1[1,])
#构建ggplot图层的根基数据层
p <- ggplot(data=newdata2,aes(x=variable,y=value))
#添加箱线图和点图
p + geom_boxplot()+
  geom_point(data=lindata,colour='red',size=3)+
  geom_point(data=kobedata,colour='blue',size=3)+
  coord_flip()
#加载MASS包举办MDS阐明
library(MASS)
nba.mds <- isoMDS(dist(newdata1))
#提取前两维数据
x = nba.mds$points[,1]
y = nba.mds$points[,2]
mds.data <-data.frame(x,y,player=data$Player)
lin.data <- mds.data[101,]
topten.data <- mds.data[1:10,]
#绘制散点图
g <- ggplot(data=mds.data,aes(x,y))
g + geom_point()+
  geom_point(data=lin.data,color='red',size=4)+
  geom_point(data=topten.data,color='blue',size=3)+
  geom_text(size=4,data=topten.data,aes(label=player),hjust=1,vjust=0,alpha=0.5)


变量说明:
G:进场次数
GS:先发次数
MP:上场时间
FG:投中次数
FGA:投篮次数
FGP:掷中率
3P:3分掷中次数
3PA:3分投篮次数
3PP:3分掷中率
FT:罚球掷中次数
FTA:罚球次数
FTP:罚球掷中率
ORB:打击篮板
DRB:防守篮板
TRB:总篮板
AST:助攻
STL:盗球
BLK:封盖
TOV:失误
PF:小我私家犯规
PTS:总得分
变量名后加.MP的暗示以上场时间举办了平均处理惩罚。

    关键字:

在线提交作业