分類: R

BallR:使用 R 與 Shiny 建立互動式 NBA 球員射籃資料分佈圖

BallR 是一個可以線上即時分析 NBA 球員射籃資料的工具,畫出球場上各個位置的投籃命中率。

NBA Stats 的網站上提供了從 1996 年以來 NBA 籃球比賽的各種資料,其中包含球場上每一次射籃的位置座標,而 BallR 是一個使用 RShiny 所開發的分析工具,可以讓籃球迷們針對每一位球員做一些簡單的資料分析與視覺化呈現。

名稱:BallR
網址:Todd W. Schneider

BallR 可以讓您選擇球員、賽季、繪圖樣式,計算該球員在球場上每個區域的投籃命中率,並與聯盟平均值做比較,然後產生整個球場的射籃資料分佈圖。

這個網站可以分析從 1996 年以來所有 NBA 球員的資料,當然也包含林書豪(Jeremy Shu-How Lin),如果要查詢林書豪的資料,請在球員名字(Player)的欄位輸入 Jeremy Lin,接著選擇賽季(Season)然後就會顯示林書豪的射籃資料與分佈圖了。

林書豪的射籃統計圖

在分佈圖的下方還有一些簡單的數據,敘述球場上各個區域的投籃進球數(FGM)、投籃出手數(FGA)、投籃命中率(FG%)與投籃命中率聯盟平均值(Lg FG%)。

畫出來的分佈圖還可以直接下載,下面這張是林書豪在 2015-16 NBA 賽季的射籃命中率分佈圖。

林書豪射籃命中率分佈圖(2015-16 NBA 賽季)

我們也可以調整圖形的樣式,用圓點來繪圖。

林書豪射籃命中率分佈圖(2015-16 NBA 賽季)

這是使用 heat map 的方式來表示射籃頻率的圖形。

BallR 還可以進行資料的篩選,例如選擇射籃角度、區域、距離等等,進行細部的分析。

事實上 BallR 是一個開放原始碼的專案,他的原始碼可以直接從 GitHub 網站上下載,如果您有興趣在自己的電腦上執行 BallR 的話,可以執行以下的 R 程式碼:

packages = c("shiny", "ggplot2", "hexbin", "dplyr", "httr", "jsonlite")
install.packages(packages, repos = "https://cran.rstudio.com/")
library(shiny)
runGitHub("ballr", "toddwschneider")

參考資料:R-bloggers

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

3 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago