1.緒論

✔背景:

一般來說,球員的價值在於他在場上的表現,表現越好的選手就會有越多的球隊去爭取,薪資也會相對的比較高。

✔問題/動機:

2016年王建民在大聯盟整季投出了6勝0敗的佳績,但為什麼在2017年卻沒有球隊願意與他簽約?是不是王建民過譽了?

✔結果簡述(猜測):

可能是王建民年紀大了、傷勢還沒痊癒、臺灣的記者很煩,或另有隱情。

2.結果

✔資料介紹

library(xlsx)
## Loading required package: rJava
## Loading required package: xlsxjars
library(jpeg)
a<-read.xlsx("CMW&ALL.xlsx",sheetIndex=1)
head(a)
##   PITCHER  H.9 HR.9 BB.9 K.9  WHIP  ERA
## 1     CMW 10.1  1.0  3.0 5.1 1.463 4.22
## 2     ALL  8.8  1.2  3.1 8.1 1.325 4.18

比較2016年王建民和全大聯盟投手的資料,可以看出他的成績和大聯盟平均水準相差並不大。

而王建民投出了6勝0敗、ERA4.22的成績,這樣看起來是他為球隊貢獻了6勝,但事實是這樣嗎?

ERA是指投手平均每九局會掉幾分

#ERA的計算公式=(分數/局數)*9
a<-25 #分數
b<-53.3 #局數
c<-(a/b)*9
round(c,digits=2) #王建民的ERA
## [1] 4.22

ERA可能受到球隊隊友的影響很大,專家因此發明了FIP和WAR的概念

FIP是指一位投手在聯盟平均守備水準之下的ERA可能的值

✔Exploratory Data Analysis/ Analysis

比較ERA與FIP之間的關係

100位投50局以上的投手的ERA與FIP

TB=read.csv('50IP.csv')

lmfit=lm(ERA~FIP,data=TB)
summary(lmfit)
## 
## Call:
## lm(formula = ERA ~ FIP, data = TB)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.5441 -0.5401 -0.1342  0.5513  2.7914 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.06372    0.37992  -0.168    0.867    
## FIP          0.98796    0.09268  10.660   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9287 on 98 degrees of freedom
## Multiple R-squared:  0.537,  Adjusted R-squared:  0.5322 
## F-statistic: 113.6 on 1 and 98 DF,  p-value: < 2.2e-16
windows()
plot(ERA~FIP,data=TB)
abline(lmfit) #100位投50局以上投手的ERA與FIP

100位投100局以上的投手的ERA與FIP

TB=read.csv('100IP.csv')

lmfit=lm(ERA~FIP,data=TB)
summary(lmfit)
## 
## Call:
## lm(formula = ERA ~ FIP, data = TB)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.43632 -0.51410 -0.04584  0.40619  1.65565 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.65811    0.38300   1.718   0.0889 .  
## FIP          0.87024    0.08922   9.754 4.14e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6348 on 98 degrees of freedom
## Multiple R-squared:  0.4926, Adjusted R-squared:  0.4874 
## F-statistic: 95.14 on 1 and 98 DF,  p-value: 4.144e-16
windows()
plot(ERA~FIP,data=TB)
abline(lmfit) #100位投100局以上投手的ERA與FIP

✔Code

FIP的公式為[13HR+3(BB+HBP+IBB)-2*K]/IP+3

a<-6    #HR
b<-18   #BB  
c<-2    #HBP
d<-0    #IBB
e<-30   #K
f<-53.3 #IP
g<-(13*a+3*(b+c+d)-2*e)/f+3
round(g,digits=3) #王建民的FIP
## [1] 4.463

球場的大小、風向也會影響投球結果,因此需要球場校正

王建民在經過所有校正之後的FIP為4.61

a<-4.61  #王建民經過球場校正過後(ERA)的FIP

##比賽的勝負不是比投手的自責失分,是比總失分
##若要算出WAR就要把ERA轉換成RA

##聯盟失分率與自責失分率比=0.925
b<-a/0.925  #王建民的FIP轉換回總失分率FIP(RA)為4.98
round(b,digits=2)
## [1] 4.98
c<-53.3/38
round(c,digits=2)  #計算出王建民平均出賽一場投幾局
## [1] 1.4
##一場棒球比賽投手要投18局,如果王建民投1.4局,其他平均程度的投手要投剩下的16.6局
d<-4.52  #聯盟平均投手的FIP(RA)
e<-(d*16.6+b*1.4)/18  #(平均投手投16.6局+王建民投1.4局)除以18局
round(e,digits=3)  #王建民出賽時,整場比賽的平均失分率。
## [1] 4.556
##專家提供公式,計算投手每省下幾分,可以為球隊帶來一勝
f<-(e+2)*1.5 
round(f,digits=3)  #平均王建民每一場省下幾分,可以為球隊帶來一勝
## [1] 9.834
g<-d-b 
round(g,digits=2)  #王建民每投9局會比聯盟平均投手投9局多掉幾分
## [1] -0.46
h<-g/f
round(h,digits=3)  #多掉0.46分相當於王建民讓球隊少了多少勝率
## [1] -0.047
i<-0.5+(-0.047)
i   #平均為0.500勝率的球隊降低0.047勝率
## [1] 0.453
#0.500勝率的球隊中,拿一個平均程度投手換成王建民,球隊的勝率會降為0.453

#大聯盟計算聯盟平均後援投手的勝率為0.470
j<-i-0.47
j
## [1] -0.017
#王建民每取代一位平均程度投手投一場球會讓球隊少贏0.017場球

k<-j*(53.3/9)
round(k,digits=1)  #用王建民投球總局數換算一季共投了5.92場球(一場九局)
## [1] -0.1

✔Results/What we have found

帳面上的數據不能完全代表出投手的實力,就像王建民表面拿了6勝0敗的成績,但實際上他的表現出的投球內容,卻是讓球隊勝率下降。

3.結論與討論

✔Results recap

王建民的ERA為4.22、FIP為4.61,代表他在聯盟平均水準的守備之下,ERA應為4.61

王建民的WAR值為-0.1,代表他會讓球隊這一年少贏0.1場球

✔Answers to the Questions

由數據顯示,王建民投球時的運氣很好,但王建民的表現其實是在水準之下的,實力已經無法回到巔峰時的身手,加上曾經受過傷可能會舊傷復發,年紀已經接近40歲,球員生涯也快結束了,因此沒有球隊願意再與他簽約。

✔Discussion (Limitation and future studies)

這些進階數據雖能較精確的計算出投手真正的實力,但選手的實力不能完全代表一個球員的價值。

一個球員的價值除了在場上的表現之外,他所帶來的周邊效益(公仔、廣告、代言…等)、對球迷的影響,都可以是判斷一個球員價值的依據。

所以,這些數據只計算出球員在場上能為球隊提供多少貢獻,但卻不能完整的把球員的「價值」顯現出來。