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)
FG_Average <- mean(FG_Percentage)
basketball_players <- basketball_players %>%
mutate(
FG_Category = case_when(
FG_Percentage < FG_Average ~ "Below average",
FG_Percentage == FG_Average ~ "Average",
FG_Percentage > FG_Average ~ "Above average",
.default = "Error"
)
)
# Making the table
Player_table <- gt(basketball_players) %>%
tab_header("Player positions and FG stats") %>%
cols_align(align = "left") %>%
gt_theme_538
# Showing the table
Player_table
# Load required libraries
library(tidyverse)
library(gt)
# Create sample 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)
# Compute summary statistics
summary_stats <- basketball_players %>%
group_by(Position) %>%
summarise(
Count = n(),
Minimum = min(FG_Percentage),
Average = mean(FG_Percentage),
Maximum = max(FG_Percentage)
) %>%
arrange(desc(Average)) # Sort by Average in descending order
# Create table using gt
Player_table <- gt(summary_stats) %>%
tab_header(title = "Field Goal Stats by Position") %>%
cols_align(align = "left")
# Display the table
Player_table