FG Stats by Position
Position Number of Players Minimum Average Maximum
Forward 4 50.9 54.25 59.1
Guard 4 46.6 52.90 58.0
Center 4 40.8 50.85 59.9

Code:

library(tidyverse)
library(gtExtras)
library(gt)

# Specify made-up data for 12 players
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)

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

# Summarize data by position
position_summary <- basketball_players %>%
  group_by(Position) %>%
  summarise(
    Count = n(),
    Min = min(FG_Percentage),
    Average = mean(FG_Percentage),
    Max = max(FG_Percentage)
  ) %>%
  arrange(desc(Average))

# Create the table
Position_table <- gt(position_summary) %>%
  tab_header(title = "FG Stats by Position") %>%
  cols_label(
    Position = "Position",
    Count = "Number of Players",
    Min = "Minimum",
    Average = "Average",
    Max = "Maximum"
  ) %>%
  fmt_number(columns = c(Average), decimals = 2) %>%
  gt_theme_538()

# Show the table
Position_table