模拟美式橄榄球比赛数据(R)
獲得和清洗數(shù)據(jù):
1.從網(wǎng)絡(luò)上抓取數(shù)據(jù)
執(zhí)行上面的命令可以創(chuàng)建一個(gè)存儲(chǔ)32個(gè)球隊(duì)在2013賽季所有進(jìn)攻統(tǒng)計(jì)數(shù)據(jù)的數(shù)據(jù)框offense
2.首先注意到下載的球隊(duì)數(shù)據(jù)存在很多空白列,而且為了確保數(shù)據(jù)格式正確,我們需要先進(jìn)行數(shù)據(jù)清洗工作。如下所示,我們清除空白的列,并給每列賦予我們需要的數(shù)據(jù)類型。
3.通過同樣的方式獲取防守?cái)?shù)據(jù)。
readHTMLTable函數(shù)會(huì)下載整個(gè)網(wǎng)頁,所以我們通過在命令的末尾加上[[7]]來選擇我們需要的第7列元素。
R語言中的paste()函數(shù)實(shí)現(xiàn)字符串的連接。如果你對操作數(shù)據(jù)陌生,連接指的是將兩個(gè)字符串拼接在一起。我們利用paste函數(shù)來連接下載數(shù)據(jù)的URL和需要獲取數(shù)據(jù)的年份,從而可以僅僅通過改變year的數(shù)值來改變整個(gè)下載數(shù)據(jù)的URL。另一個(gè)非常有用的R函數(shù)是apply()。我們可以通過它僅用一行代碼同時(shí)將多列變量變成數(shù)值類型。apply()函數(shù)不僅可以用來改變數(shù)據(jù)類型,也可以執(zhí)行其他數(shù)學(xué)計(jì)算。
分析和理解美式橄欖球比賽數(shù)據(jù)
1.首先,為了方便后續(xù)數(shù)據(jù)研究,我們將offense和defense兩個(gè)數(shù)據(jù)框合并成combined
因?yàn)閛ffense和defense數(shù)據(jù)框中存在相同的列名稱,為了避免后面操作的混淆,我們需要為重名的列進(jìn)行唯一命名。同時(shí)我們會(huì)剔出defense中和offense中重復(fù)的比賽數(shù)量列。
直方圖一直是初步研究數(shù)據(jù)的最好工具之一。因?yàn)樗梢酝ㄟ^顯示每列數(shù)據(jù)的分布而分辨偏低、偏高和在正常范圍內(nèi)的數(shù)值。
首先,我們?yōu)槊總€(gè)球隊(duì)平均每場進(jìn)攻得分(offensive points per game)創(chuàng)建一個(gè)直方圖
2.嘗試通過條形圖來理解combined數(shù)據(jù)集。
條形圖和前面所創(chuàng)建的直方圖經(jīng)常容易被混淆。在這里,二者的區(qū)別在于,條形圖可以刻畫出每支球隊(duì)在不同評價(jià)指標(biāo)上的差異,而直方圖卻是用來顯示出評價(jià)指標(biāo)在不同數(shù)值段上的球隊(duì)數(shù)量的分布
3.現(xiàn)在我們再看看每支球隊(duì)在失守碼數(shù)上的平均表現(xiàn),命令如下:4.最后我們通過散點(diǎn)圖來觀察兩個(gè)變量之間的相關(guān)性
構(gòu)建度量攻防能力的指標(biāo)
我們按照下面的流程來構(gòu)造攻防指數(shù):
1.首先,我們計(jì)算球隊(duì)的進(jìn)攻傳球能力分值。combined變量中最能能體現(xiàn)傳球能力的是PassYds/G(average passing yards per game),即平均每場傳球碼數(shù)。PassYds/G的值越高,說明球隊(duì)擁有更強(qiáng)的傳球能力。
首先我們計(jì)算每個(gè)球隊(duì)的PassYds/G和最大值之間的差值,然后除以最大值。1減去比值的用意是為了使分值的大小和傳球能力的大小成正比,最后將分值歸一到0和100之間。
2.為了計(jì)算球隊(duì)的進(jìn)攻沖擊能力,我們可以對數(shù)據(jù)域RushYds(average rushing yards per game)采取相同的變換。
3.對每場進(jìn)攻得分和進(jìn)攻碼數(shù)進(jìn)行上面相同的變化,然后將四個(gè)變換之后的變量綜合成用戶的攻擊能力指標(biāo)。
模擬單場由程序決定勝負(fù)的比賽
模擬比賽的基本思路是比賽雙方中自身進(jìn)攻能力和對手防守能力之間差值較大的隊(duì)伍將獲得比賽的勝利
1.選擇兩支參賽的隊(duì)伍,為了方便起見,我們稱這兩支球隊(duì)分別為主隊(duì)和客隊(duì)。
2.整合前面所計(jì)算的球隊(duì)的攻防能力指數(shù)
3.基于匯總的參賽雙方數(shù)據(jù),我們現(xiàn)在可以通過比較兩者的攻防能力指標(biāo)來決定理論上應(yīng)該勝出的隊(duì)伍。
4.上面我們計(jì)算了雙方在傳球能力上的差別,我們現(xiàn)在比較兩支球隊(duì)在沖球能力以及總能力上的差別
5.因?yàn)榍蜿?duì)的總能力表現(xiàn)是基于傳球、沖擊和總體能力初始差值得到的,我們需要重寫Net_Total列。然后,通過比較兩支球隊(duì)的Net_Total,給出虛擬球賽中最終能夠獲勝的球隊(duì)
轉(zhuǎn)載于:https://www.cnblogs.com/yifdu25/p/8443313.html
總結(jié)
以上是生活随笔為你收集整理的模拟美式橄榄球比赛数据(R)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TT 的旅行日记(Dijkstra)
- 下一篇: 余弦相似度总结