Code:
# ----------------------------------------------------------
# Installing required packages
# ----------------------------------------------------------
if (!require("tidyverse"))
install.packages("tidyverse")
if (!require("gt"))
install.packages("gt")
library(tidyverse)
library(gt)
# ----------------------------------------------------------
# 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)
# ----------------------------------------------------------
# Displaying the table
# ----------------------------------------------------------
basketball_players_table <- gt(basketball_players) %>%
tab_header(title = "Player stats by position") %>%
cols_align(align = "left")
basketball_players_table
# ----------------------------------------------------------
# Display table summarizing field goal stats by position
# ----------------------------------------------------------
Summary_FG_Percentage <- basketball_players %>%
group_by(Position) %>%
summarise(Count=n(),
Minimum = min(FG_Percentage),
Average = round(mean(FG_Percentage),1),
Maximum = max(FG_Percentage)) %>%
arrange(desc(Average))
# ----------------------------------------------------------
# Redisplaying table summarizing field goal stats by position
# ----------------------------------------------------------
Summary_FG_Percentage_Table <- gt(Summary_FG_Percentage) %>%
tab_header(title = "Player Stats by Position") %>%
cols_align(align = "left")
Summary_FG_Percentage_Table