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
library(readxl)

Loading data

setwd("/Users/mikea/Desktop/Data 110 ")
mnms <- read_csv("MnM_Data.csv")

Basic EDA

dim(mnms)
## [1] 382   6
str(mnms)
## spc_tbl_ [382 × 6] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ student_id  : chr [1:382] "AP_LV" "AP_LV" "AP_LV" "AP_LV" ...
##  $ id          : num [1:382] 1 2 3 4 5 6 7 8 9 10 ...
##  $ color       : chr [1:382] "r" "r" "r" "r" ...
##  $ defect      : chr [1:382] "c" "l" "z" "z" ...
##  $ total       : num [1:382] 27 27 27 27 27 27 27 27 27 27 ...
##  $ weight_grams: num [1:382] 40 40 40 40 40 40 40 40 40 40 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   student_id = col_character(),
##   ..   id = col_double(),
##   ..   color = col_character(),
##   ..   defect = col_character(),
##   ..   total = col_double(),
##   ..   weight_grams = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>
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 = T)
## [1] 50
min(mnms$weight_grams, na.rm = T)
## [1] 25
mean(mnms$weight_grams, na.rm = T)
## [1] 44.24607
table(mnms$defect)
## 
##   c   l   m   z 
##  33  42   9 298
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 = F)
lines(dens)

Bar plots

barplot(table(mnms$color), col = c("blue", "brown", "green", "orange", "red", "yellow"))

main = "My M&M"

BMI

# calculateBMI <- function(weight, height) {
  #weight / (height * height)
  
#}
# f <- function(friend) {
 #  cat("hello", friend, "!/n")
# }
# f("mike")