library(tidyverse)
library(datasets)
data("HairEyeColor")
HairEyeColor <- tibble::as.tibble(HairEyeColor)
## Warning: `as.tibble()` was deprecated in tibble 2.0.0.
## ℹ Please use `as_tibble()` instead.
## ℹ The signature and semantics have changed, see `?as_tibble`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
install.packages(“dplyr”) library(dplyr)
class(HairEyeColor)
## [1] "tbl_df" "tbl" "data.frame"
head(HairEyeColor)
## # A tibble: 6 × 4
## Hair Eye Sex n
## <chr> <chr> <chr> <dbl>
## 1 Black Brown Male 32
## 2 Brown Brown Male 53
## 3 Red Brown Male 10
## 4 Blond Brown Male 3
## 5 Black Blue Male 11
## 6 Brown Blue Male 50
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
data("HairEyeColor")
hair_eye_df <- as.data.frame(HairEyeColor)
hair_eye_summary <- hair_eye_df %>%
group_by(Hair, Eye) %>%
summarise(total = sum(Freq), .groups = "drop")
hair_eye_summary
## # A tibble: 16 × 3
## Hair Eye total
## <fct> <fct> <dbl>
## 1 Black Brown 68
## 2 Black Blue 20
## 3 Black Hazel 15
## 4 Black Green 5
## 5 Brown Brown 119
## 6 Brown Blue 84
## 7 Brown Hazel 54
## 8 Brown Green 29
## 9 Red Brown 26
## 10 Red Blue 17
## 11 Red Hazel 14
## 12 Red Green 14
## 13 Blond Brown 7
## 14 Blond Blue 94
## 15 Blond Hazel 10
## 16 Blond Green 16
brown_blue_eye <- hair_eye_df %>% filter(Hair == "Brown" & Eye == "Blue")
brown_blue_eye
## Hair Eye Sex Freq
## 1 Brown Blue Male 50
## 2 Brown Blue Female 34
hair_eye_with_percentage <- hair_eye_summary %>% mutate(percentage = (total / sum(total)) * 100)
hair_eye_with_percentage
## # A tibble: 16 × 4
## Hair Eye total percentage
## <fct> <fct> <dbl> <dbl>
## 1 Black Brown 68 11.5
## 2 Black Blue 20 3.38
## 3 Black Hazel 15 2.53
## 4 Black Green 5 0.845
## 5 Brown Brown 119 20.1
## 6 Brown Blue 84 14.2
## 7 Brown Hazel 54 9.12
## 8 Brown Green 29 4.90
## 9 Red Brown 26 4.39
## 10 Red Blue 17 2.87
## 11 Red Hazel 14 2.36
## 12 Red Green 14 2.36
## 13 Blond Brown 7 1.18
## 14 Blond Blue 94 15.9
## 15 Blond Hazel 10 1.69
## 16 Blond Green 16 2.70
hair_eye_selected <- hair_eye_df %>% select(Hair, Eye, Freq)
hair_eye_selected
## Hair Eye Freq
## 1 Black Brown 32
## 2 Brown Brown 53
## 3 Red Brown 10
## 4 Blond Brown 3
## 5 Black Blue 11
## 6 Brown Blue 50
## 7 Red Blue 10
## 8 Blond Blue 30
## 9 Black Hazel 10
## 10 Brown Hazel 25
## 11 Red Hazel 7
## 12 Blond Hazel 5
## 13 Black Green 3
## 14 Brown Green 15
## 15 Red Green 7
## 16 Blond Green 8
## 17 Black Brown 36
## 18 Brown Brown 66
## 19 Red Brown 16
## 20 Blond Brown 4
## 21 Black Blue 9
## 22 Brown Blue 34
## 23 Red Blue 7
## 24 Blond Blue 64
## 25 Black Hazel 5
## 26 Brown Hazel 29
## 27 Red Hazel 7
## 28 Blond Hazel 5
## 29 Black Green 2
## 30 Brown Green 14
## 31 Red Green 7
## 32 Blond Green 8
brown_blue_sorted <- hair_eye_df %>%
filter(Hair == "Brown" & Eye == "Blue") %>%
arrange(desc(Freq))
brown_blue_sorted
## Hair Eye Sex Freq
## 1 Brown Blue Male 50
## 2 Brown Blue Female 34