Plots expected points of shots as a function of the distance from the basket (default) or another variable
expectedpts(
data,
var = "shot_distance",
players = NULL,
bw = 10,
period.length = 12,
palette = gg_color_hue,
team = TRUE,
col.team = "gray",
col.hline = "black",
xlab = NULL,
x.range = "auto",
title = NULL,
legend = TRUE
)A ggplot2 plot
a data frame whose rows are field shots and with the following columns: points, event_type, 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, a string giving the name of the numerical variable according to which the expected points are estimated; available options "playlength", "periodTime", "totalTime", "shot_distance" (default).
subset of players to be displayed (optional; it can be used only if the player column is present in data).
numeric, smoothing bandwidth of the kernel density estimator (see ksmooth).
numeric, the length of a quarter in minutes (default: 12 minutes as in NBA).
color palette.
logical; if TRUE, draws the expected points for all the shots in data.
character, color of the expected points line for all the shots in data (default "gray").
character, color of the dashed horizontal line (default "black") denoting the expected points for all the shots in data, not conditional to the variable in the x-axis.
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.
logical, if TRUE, color legend is displayed (only when players is not NULL).
Marco Sandri, Paola Zuccolotto, Marica Manisera (basketballanalyzer.help@unibs.it)
The data data frame could also be a play-by-play dataset provided that rows corresponding to events different from field shots have values different from "shot" or "miss" in the even_type variable.
Required columns:
event_type, a factor with the following levels: "shot" for made field shots and "miss" for missed field shots
player, a factor with the name of the player who made the shot
points, a numeric variable (integer) with the points scored by made shots and 0 for missed shots
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.
PbP <- PbPmanipulation(PbP.BDB)
PbP.GSW <- subset(PbP, team=="GSW" & !is.na(shot_distance))
plrys <- c("Stephen Curry","Kevin Durant")
expectedpts(data=PbP.GSW, bw=10, players=plrys, col.team='dodgerblue',
palette=colorRampPalette(c("gray","black")), col.hline="red")
Run the code above in your browser using DataLab