library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
library(dbplyr)
##
## Attaching package: 'dbplyr'
##
## The following objects are masked from 'package:dplyr':
##
## ident, sql
week3_dataset <- read.csv("baseball.csv",header = TRUE)
moneyball_stats <- week3_dataset%>%
group_by(Year)%>%
summarise(OBP=mean(OBP),SLG=mean(SLG),OPS=mean(OBP)+mean(SLG),
RS_per_game=mean(RS)/mean(G))%>%
ggplot()+
geom_point(mapping = aes(x=RS_per_game,y=OBP))+
theme_classic();
moneyball_stats

playoff_appearance <- week3_dataset %>%
group_by(Team)%>%
summarise(playoff_appearance=sum(Playoffs))
ggplot(playoff_appearance)+
geom_col(mapping = aes(x=Team,y=playoff_appearance));

in_order <- playoff_appearance[order(playoff_appearance$playoff_appearance),decreasing=TRUE,]
top_three <- in_order[c(37,38,39),]
bottom_three <- in_order[c(8,9,10),]
top_three
## # A tibble: 3 × 2
## Team playoff_appearance
## <chr> <int>
## 1 STL 16
## 2 ATL 17
## 3 NYY 23
bottom_three
## # A tibble: 3 × 2
## Team playoff_appearance
## <chr> <int>
## 1 WSN 1
## 2 ANA 2
## 3 COL 2
batting_avg_yeartoyear <- week3_dataset %>%
group_by(Year) %>%
summarize(AVG=mean(BA))%>%
ggplot()+
geom_line(mapping=aes(x=Year,y=AVG))
batting_avg_yeartoyear
