Skip to contents

Get batting statistics for one or all players. Includes average, strike rate, boundary percentage, and derived metrics.

Usage

player_batting_stats(
  player_id = NULL,
  match_type = NULL,
  season = NULL,
  min_balls = 100,
  source = c("local", "remote"),
  db_path = NULL
)

calculate_player_batting_stats(
  player_id = NULL,
  match_type = NULL,
  season = NULL,
  min_balls = 100,
  source = c("local", "remote"),
  db_path = NULL
)

Arguments

player_id

Character. Player identifier (e.g., "V Kohli", "BA Stokes"). If NULL (default), returns stats for all players.

match_type

Character. Filter by match type: "T20", "ODI", "Test", "IT20", "MDM", or NULL for all formats.

season

Character. Filter by season (e.g., "2023", "2023/24").

min_balls

Integer. Minimum balls faced to include (default 100). Only applies when player_id is NULL.

source

Character. "local" (default) uses local DuckDB for fast SQL aggregation. "remote" loads data from GitHub releases and aggregates in R.

db_path

Character. Database path (only used when source = "local").

Value

Data frame with batting metrics:

  • batter_id, player_name, balls_faced, runs_scored, dismissals, fours, sixes

  • batting_average, strike_rate, wicket_pct

Examples

if (FALSE) { # \dontrun{
# Get all players' batting stats
all_batters <- player_batting_stats()

# Get stats for a specific player
kohli_stats <- player_batting_stats("V Kohli")

# Get T20 stats for all players
t20_batters <- player_batting_stats(match_type = "T20")

# Get T20 stats for a specific player
kohli_t20 <- player_batting_stats("V Kohli", match_type = "T20")

# Get stats from GitHub releases (no local install needed)
remote_stats <- player_batting_stats(match_type = "T20", source = "remote")
} # }