Table

FG Stats by Position
Position Count Minimum Average Maximum
Forward 4 50.90 54.25 59.10
Guard 4 46.60 52.90 58.00
Center 4 40.80 50.85 59.90

Code

# Installing and loading required packages

if (!require("tidyverse"))
  install.packages("tidyverse")
if (!require("gtExtras"))
  install.packages("gtExtras")

library(tidyverse)
library(gtExtras)

# Installing and loading required packages

if (!require("tidyverse"))
  install.packages("tidyverse")
if (!require("gtExtras"))
  install.packages("gtExtras")

library(tidyverse)
library(gtExtras)

# Specify made-up data for 12 players and turn it into a data frame
# Note: I used ChatGPT to help generate this data

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)

# Summarizing data by Position
Position_summary <- basketball_players %>%
  group_by(Position) %>%
  summarize(
    Count = n(),
    Min_FG = min(FG_Percentage),
    Avg_FG = mean(FG_Percentage),
    Max_FG = max(FG_Percentage),
    .groups = "drop"
  ) %>%
  arrange(desc(Avg_FG))

# Making the table

Position_table <- gt(Position_summary) %>%
  tab_header(title = "FG Stats by Position") %>%
  cols_align(align = "left") %>%
  cols_label(
    Position = "Position",
    Count = "Count",
    Min_FG = "Minimum",
    Avg_FG = "Average",
    Max_FG = "Maximum"
    ) %>%
  fmt_number(columns = c(Min_FG, Avg_FG, Max_FG), decimals = 2) %>%
  gt_theme_538()

# Showing the table

Position_table