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.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── 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
setwd("/Users/smhenderson/Desktop/DATA101/R/Data101/data") 
mnms <- read.csv("MnM_Data.csv")

dim(mnms)
## [1] 382   6
str(mnms)
## 'data.frame':    382 obs. of  6 variables:
##  $ student_id  : chr  "AP_LV" "AP_LV" "AP_LV" "AP_LV" ...
##  $ id          : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ color       : chr  "r" "r" "r" "r" ...
##  $ defect      : chr  "c" "l" "z" "z" ...
##  $ total       : int  27 27 27 27 27 27 27 27 27 27 ...
##  $ weight_grams: int  40 40 40 40 40 40 40 40 40 40 ...
glimpse(mnms)
## Rows: 382
## Columns: 6
## $ student_id   <chr> "AP_LV", "AP_LV", "AP_LV", "AP_LV", "AP_LV", "AP_LV", "AP…
## $ id           <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17…
## $ color        <chr> "r", "r", "r", "r", "r", "o", "o", "o", "o", "o", "y", "y…
## $ defect       <chr> "c", "l", "z", "z", "z", "l", "z", "z", "z", "z", "z", "z…
## $ total        <int> 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 2…
## $ weight_grams <int> 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 4…
summary(mnms)
##   student_id              id          color              defect         
##  Length:382         Min.   : 1.0   Length:382         Length:382        
##  Class :character   1st Qu.:10.0   Class :character   Class :character  
##  Mode  :character   Median :20.0   Mode  :character   Mode  :character  
##                     Mean   :22.8                                        
##                     3rd Qu.:35.0                                        
##                     Max.   :55.0                                        
##      total        weight_grams  
##  Min.   :18.00   Min.   :25.00  
##  1st Qu.:27.00   1st Qu.:40.00  
##  Median :54.00   Median :48.00  
##  Mean   :45.01   Mean   :44.25  
##  3rd Qu.:55.00   3rd Qu.:50.00  
##  Max.   :56.00   Max.   :50.00
max(mnms$weight_grams, na.rm = TRUE)
## [1] 50
min(mnms$weight_grams)
## [1] 25
mean(mnms$weight_grams, na.rm = TRUE)
## [1] 44.24607
table(mnms$color, mnms$defect)
##     
##       c  l  m  z
##   bl  7 13  4 58
##   br  2  3  0 51
##   g   5 10  1 35
##   o   6  8  2 71
##   r   6  4  1 36
##   y   7  4  1 47
dens <- density(mnms$weight_grams)
hist(mnms$weight_grams, freq = FALSE)
lines(dens)