Research Questions
1. What factors (e.g., shooting percentage, rebounds, assists) are
most predictive of individual player success?
2. How do team dynamics (e.g., average points, turnovers, assists
per game) correlate with which teams make the playoffs.
3. What are the performance trends of rookie players compared to
seasoned players?
Relevant Data Sources:
Kaggle NBA Datasets - Historical player and game stats, available
through various NBA-related datasets.
Basketball-Reference - Comprehensive player and team statistics over
many seasons.
# Player
library(readr)
Player_Totals <- read_csv("~/Library/Mobile Documents/com~apple~CloudDocs/DATA 4310 (BI)/archive (1)/Player Totals.csv")
View(Player_Totals)
Team Totals can be used to see team dynamics relates to which teams
make the playoffs.
# Load required libraries
library(ggplot2)
library(reshape2)
# Convert playoffs to a factor for better labeling
Team_Totals$playoffs <- as.factor(Team_Totals$playoffs)
# Select Total Points, Assists, Rebounds, Field Goal Percentage, and Turnovers
selected_stats <- Team_Totals[, c("pts", "ast", "trb", "fg_percent", "tov", "playoffs")]
# Plot for multiple stats
ggplot(selected_stats_long, aes(x = playoffs, y = value, color = playoffs)) +
geom_jitter(height = 0.1, alpha = 0.6) +
facet_wrap(~variable, scales = "free_x") +
labs(title = "Various Stats vs Playoff Appearance",
x = "Playoffs",
y = "Stat Value",
color = "Playoffs") +
theme_minimal()

These show that the more consistent teams tend to make the
playoffs.
# Scatter plot with Total Points on the x-axis and Playoff status on the y-axis
# with assists as size and rebounds as color
ggplot(Team_Totals, aes(x = pts, y = playoffs, color = trb, size = ast)) +
geom_jitter(height = 0.1, alpha = 0.7) +
labs(title = "Total Points vs Playoff Appearance with Assists and Rebounds",
x = "Total Points",
y = "Playoffs",
color = "Total Rebounds",
size = "Assists") +
theme_minimal()

LS0tCnRpdGxlOiAiQW5hbHl6aW5nIFBsYXllciBQZXJmb3JtYW5jZSBhbmQgVGVhbSBEeW5hbWljcyBpbiB0aGUgTkJBIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIyAqKlJlc2VhcmNoIFF1ZXN0aW9ucyoqCiMjIyAxLiBXaGF0IGZhY3RvcnMgKGUuZy4sIHNob290aW5nIHBlcmNlbnRhZ2UsIHJlYm91bmRzLCBhc3Npc3RzKSBhcmUgbW9zdCBwcmVkaWN0aXZlIG9mIGluZGl2aWR1YWwgcGxheWVyIHN1Y2Nlc3M/CiMjIyAyLiBIb3cgZG8gdGVhbSBkeW5hbWljcyAoZS5nLiwgYXZlcmFnZSBwb2ludHMsIHR1cm5vdmVycywgYXNzaXN0cyBwZXIgZ2FtZSkgY29ycmVsYXRlIHdpdGggd2hpY2ggdGVhbXMgbWFrZSB0aGUgcGxheW9mZnMuCiMjIyAzLiBXaGF0IGFyZSB0aGUgcGVyZm9ybWFuY2UgdHJlbmRzIG9mIHJvb2tpZSBwbGF5ZXJzIGNvbXBhcmVkIHRvIHNlYXNvbmVkIHBsYXllcnM/CgojIyAqKlJlbGV2YW50IERhdGEgU291cmNlczoqKgojIyMgS2FnZ2xlIE5CQSBEYXRhc2V0cyAtIEhpc3RvcmljYWwgcGxheWVyIGFuZCBnYW1lIHN0YXRzLCBhdmFpbGFibGUgdGhyb3VnaCB2YXJpb3VzIE5CQS1yZWxhdGVkIGRhdGFzZXRzLgojIyMgQmFza2V0YmFsbC1SZWZlcmVuY2UgLSBDb21wcmVoZW5zaXZlIHBsYXllciBhbmQgdGVhbSBzdGF0aXN0aWNzIG92ZXIgbWFueSBzZWFzb25zLgoKYGBge3J9CiMgUGxheWVyCmxpYnJhcnkocmVhZHIpClBsYXllcl9Ub3RhbHMgPC0gcmVhZF9jc3YoIn4vTGlicmFyeS9Nb2JpbGUgRG9jdW1lbnRzL2NvbX5hcHBsZX5DbG91ZERvY3MvREFUQSA0MzEwIChCSSkvYXJjaGl2ZSAoMSkvUGxheWVyIFRvdGFscy5jc3YiKQpWaWV3KFBsYXllcl9Ub3RhbHMpCmBgYAoKIyMjIyBQbGF5ZXIgVG90YWxzIGNhbiBiZSB1c2VkIHRvIHNlZSBmYWN0b3JzIG9mIGluZGl2aWR1YWwgcGxheWVycyBhbmQgcGVyZm9ybWFuY2UgdHJlbmRzIG9mIHJvb2tpZXMgY29tcGFyZWQgdG8gc2Vhc29uZWQgcGxheWVycy4KCgpgYGB7cn0KIyB0byBwcmVkaWN0IGlmIHRlYW0gYXZlcmFnZXMgd2lsbCBwcmVkaWN0IGlmIHRoZXkgd2lsbCBtYWtlIHBsYXlvZmZzCmxpYnJhcnkocmVhZHIpClRlYW1fVG90YWxzIDwtIHJlYWRfY3N2KCJ+L0xpYnJhcnkvTW9iaWxlIERvY3VtZW50cy9jb21+YXBwbGV+Q2xvdWREb2NzL0RBVEEgNDMxMCAoQkkpL2FyY2hpdmUgKDEpL1RlYW0gVG90YWxzLmNzdiIpClZpZXcoVGVhbV9Ub3RhbHMpCmBgYAoKIyMjIyBUZWFtIFRvdGFscyBjYW4gYmUgdXNlZCB0byBzZWUgdGVhbSBkeW5hbWljcyByZWxhdGVzIHRvIHdoaWNoIHRlYW1zIG1ha2UgdGhlIHBsYXlvZmZzLgoKCmBgYHtyfQojIExvYWQgcmVxdWlyZWQgbGlicmFyaWVzCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShyZXNoYXBlMikKCiMgQ29udmVydCBwbGF5b2ZmcyB0byBhIGZhY3RvciBmb3IgYmV0dGVyIGxhYmVsaW5nClRlYW1fVG90YWxzJHBsYXlvZmZzIDwtIGFzLmZhY3RvcihUZWFtX1RvdGFscyRwbGF5b2ZmcykKCiMgU2VsZWN0IFRvdGFsIFBvaW50cywgQXNzaXN0cywgUmVib3VuZHMsIEZpZWxkIEdvYWwgUGVyY2VudGFnZSwgYW5kIFR1cm5vdmVycwpzZWxlY3RlZF9zdGF0cyA8LSBUZWFtX1RvdGFsc1ssIGMoInB0cyIsICJhc3QiLCAidHJiIiwgImZnX3BlcmNlbnQiLCAidG92IiwgInBsYXlvZmZzIildCgojIFBsb3QgZm9yIG11bHRpcGxlIHN0YXRzCmdncGxvdChzZWxlY3RlZF9zdGF0c19sb25nLCBhZXMoeCA9IHBsYXlvZmZzLCB5ID0gdmFsdWUsIGNvbG9yID0gcGxheW9mZnMpKSArCiAgZ2VvbV9qaXR0ZXIoaGVpZ2h0ID0gMC4xLCBhbHBoYSA9IDAuNikgKwogIGZhY2V0X3dyYXAofnZhcmlhYmxlLCBzY2FsZXMgPSAiZnJlZV94IikgKwogIGxhYnModGl0bGUgPSAiVmFyaW91cyBTdGF0cyB2cyBQbGF5b2ZmIEFwcGVhcmFuY2UiLAogICAgICAgeCA9ICJQbGF5b2ZmcyIsCiAgICAgICB5ID0gIlN0YXQgVmFsdWUiLAogICAgICAgY29sb3IgPSAiUGxheW9mZnMiKSArCiAgdGhlbWVfbWluaW1hbCgpCmBgYAojIyMjIFRoZXNlIHNob3cgdGhhdCB0aGUgbW9yZSBjb25zaXN0ZW50IHRlYW1zIHRlbmQgdG8gbWFrZSB0aGUgcGxheW9mZnMuCgoKYGBge3J9CiMgU2NhdHRlciBwbG90IHdpdGggVG90YWwgUG9pbnRzIG9uIHRoZSB4LWF4aXMgYW5kIFBsYXlvZmYgc3RhdHVzIG9uIHRoZSB5LWF4aXMKIyB3aXRoIGFzc2lzdHMgYXMgc2l6ZSBhbmQgcmVib3VuZHMgYXMgY29sb3IKCmdncGxvdChUZWFtX1RvdGFscywgYWVzKHggPSBwdHMsIHkgPSBwbGF5b2ZmcywgY29sb3IgPSB0cmIsIHNpemUgPSBhc3QpKSArCiAgZ2VvbV9qaXR0ZXIoaGVpZ2h0ID0gMC4xLCBhbHBoYSA9IDAuNykgKwogIGxhYnModGl0bGUgPSAiVG90YWwgUG9pbnRzIHZzIFBsYXlvZmYgQXBwZWFyYW5jZSB3aXRoIEFzc2lzdHMgYW5kIFJlYm91bmRzIiwKICAgICAgIHggPSAiVG90YWwgUG9pbnRzIiwKICAgICAgIHkgPSAiUGxheW9mZnMiLAogICAgICAgY29sb3IgPSAiVG90YWwgUmVib3VuZHMiLAogICAgICAgc2l6ZSA9ICJBc3Npc3RzIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCg==