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