Player stats by position

# ----------------------------------------------------------
# Create the dataset
# ----------------------------------------------------------

Player <- c(
  "Player 1","Player 2","Player 3","Player 4",
  "Player 5","Player 6","Player 7","Player 8",
  "Player 9","Player 10","Player 11","Player 12"
)

Position <- c(
  "Guard","Center","Center","Guard",
  "Forward","Center","Forward","Guard",
  "Center","Forward","Guard","Forward"
)

FG_Percentage <- c(
  58.0, 44.9, 40.8, 46.6,
  59.1, 57.8, 53.9, 52.8,
  59.9, 53.1, 54.2, 50.9
)

basketball_players <- data.frame(Player, Position, FG_Percentage)

# ----------------------------------------------------------
# Create summary table
# ----------------------------------------------------------

position_summary <- basketball_players %>%
  group_by(Position) %>%
  summarise(
    Count = n(),
    Minimum = round(min(FG_Percentage), 1),
    Average = round(mean(FG_Percentage), 1),
    Maximum = round(max(FG_Percentage), 1)
  ) %>%
  arrange(desc(Average))

# ----------------------------------------------------------
# Display table
# ----------------------------------------------------------

position_summary %>%
  gt() %>%
  tab_header(title = "Player stats by position") %>%
  cols_align(align = "left")
Player stats by position
Position Count Minimum Average Maximum
Forward 4 50.9 54.2 59.1
Guard 4 46.6 52.9 58.0
Center 4 40.8 50.8 59.9

Code:

position_summary <- basketball_players %>%
  group_by(Position) %>%
  summarise(
    Count = n(),
    Minimum = round(min(FG_Percentage), 1),
    Average = round(mean(FG_Percentage), 1),
    Maximum = round(max(FG_Percentage), 1)
  ) %>%
  arrange(desc(Average))

position_summary %>%
  gt() %>%
  tab_header(title = "Player stats by position") %>%
  cols_align(align = "left")
Player stats by position
Position Count Minimum Average Maximum
Forward 4 50.9 54.2 59.1
Guard 4 46.6 52.9 58.0
Center 4 40.8 50.8 59.9