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