Plots scoring probability of shots as a function of a given variable
scoringprob(
data,
var,
shot.type,
players = NULL,
bw = 20,
period.length = 12,
xlab = NULL,
x.range = "auto",
title = NULL,
palette = gg_color_hue,
team = TRUE,
col.team = "dodgerblue",
legend = TRUE
)
a data frame whose rows are shots and with the following columns: result
, ShotType
, player
(only if the players
argument is not NULL
) and at least one of playlength
, periodTime
, totalTime
, shot_distance
(the column specified in var
, see Details).
character, the string giving the name of the numerical variable according to which the scoring probability is estimated. Available options: "playlength"
, "periodTime"
, "totalTime"
, "shot_distance"
.
character, the type of shots to be analyzed; available options: "2P"
, "3P"
, "FT"
, "field"
.
subset of players to be displayed (optional; it can be used only if the player
column is present in data
).
numeric, the smoothing bandwidth of the kernel density estimator (see ksmooth).
numeric, the length of a quarter in minutes (default: 12 minutes as in NBA).
character, x-axis label.
numerical vector or character; available options: NULL
(x-axis range defined by ggplot2
, the default), "auto"
(internally defined x-axis range), or a 2-component numerical vector (user-defined x-axis range).
character, plot title.
color palette.
character; if TRUE
draws the scoring probability for all the shots in data.
character, color of the scoring probability line for all the shots in data.
character; if TRUE
, color legend is displayed (only when players
is not NULL
).
A ggplot2
plot
The data
data frame could also be a play-by-play dataset provided that rows corresponding to events different from shots have NA
in the ShotType
variable.
Required columns:
result
, a factor with the following levels: "made"
for made shots, "miss"
for missed shots, and ""
for events different from shots
ShotType
, a factor with the following levels: "2P"
, "3P"
, "FT"
(and NA
for events different from shots)
player
, a factor with the name of the player who made the shot
playlength
, a numeric variable with time between the shot and the immediately preceding event
periodTime
, a numeric variable with seconds played in the quarter when the shot is attempted
totalTime
, a numeric variable with seconds played in the whole match when the shot is attempted
shot_distance
, a numeric variable with the distance of the shooting player from the basket (in feet)
P. Zuccolotto and M. Manisera (2020) Basketball Data Science: With Applications in R. CRC Press.
# NOT RUN {
PbP <- PbPmanipulation(PbP.BDB)
PbP.GSW <- subset(PbP, team=="GSW" & result!="")
players <- c("Kevin Durant","Draymond Green","Klay Thompson")
scoringprob(data=PbP.GSW, shot.type="2P", players=players,
var="shot_distance", col.team="gray")
# }
Run the code above in your browser using DataLab