Skip to contents

Simulates a complete innings ball-by-ball.

Usage

simulate_innings(
  model,
  format = "t20",
  innings = 1,
  target = NULL,
  batting_team_skills,
  bowling_team_skills,
  venue_skills,
  batters,
  bowlers,
  mode = "categorical",
  gender = "male",
  is_knockout = 0,
  event_tier = 2,
  max_overs_override = NULL
)

Arguments

model

XGBoost model from load_full_model()

format

Character. Format: "t20", "odi", or "test"

innings

Integer. Innings number (1 or 2)

target

Integer. Target to chase (innings 2 only, NULL for innings 1)

batting_team_skills

List. Team-level skills for batting team

bowling_team_skills

List. Team-level skills for bowling team

venue_skills

List. Venue skills

batters

List. List of batter skill objects (at least 11)

bowlers

List. List of bowler skill objects (at least 5-6)

mode

Character. "categorical" or "expected"

gender

Character. "male" or "female"

is_knockout

Integer. 0 or 1

event_tier

Integer. 1, 2, or 3

max_overs_override

Integer. Override max overs (used for super overs).

Value

List with innings summary:

  • total_runs: final score

  • wickets_lost: wickets that fell

  • balls_faced: total balls faced

  • overs_faced: overs used (decimal format)

  • ball_by_ball: data frame of each delivery

  • result: "completed", "all_out", or "target_reached"

See also

simulate_delivery for single-ball simulation, simulate_match_ballbyball to simulate a full match

Examples

if (FALSE) { # \dontrun{
model <- load_full_model("shortform")
batters <- create_default_batters(11, "t20")
bowlers <- create_default_bowlers(6, "t20")
bat_skills <- list(runs_skill = 0.05, wicket_skill = 0)
bowl_skills <- list(runs_skill = -0.02, wicket_skill = 0)
venue <- list(venue_run_rate = 0, venue_wicket_rate = 0,
              venue_boundary_rate = 0.15, venue_dot_rate = 0.35)
result <- simulate_innings(model, format = "t20", innings = 1,
                           batting_team_skills = bat_skills,
                           bowling_team_skills = bowl_skills,
                           venue_skills = venue,
                           batters = batters, bowlers = bowlers)
} # }