library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.4     v dplyr   1.0.7
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   2.0.1     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
#library(httr)
#library(jsonlite)
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
library(readr)   
promotion <- read.csv("Promotion_Report.csv", header = TRUE, fileEncoding="UTF-8-BOM")
str(promotion)
## 'data.frame':    6 obs. of  4 variables:
##  $ Race.Etnicity    : chr  "White (Not Hispanic or Latino)" "Hispanic or Latino" "Other" "Undisclosed" ...
##  $ Female.Percentage: chr  "16%" "7%" "3%" "4%" ...
##  $ Male.Percentage  : chr  "36%" "4%" "1%" "4%" ...
##  $ Grand.Total      : chr  "52%" "11%" "3%" "8%" ...
library(janitor)
## 
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
promotion1 <- promotion %>%
  clean_names()
promotion1
##                                        race_etnicity female_percentage
## 1                     White (Not Hispanic or Latino)               16%
## 2                                 Hispanic or Latino                7%
## 3                                              Other                3%
## 4                                        Undisclosed                4%
## 5                     Asian (Not Hispanic or Latino)                5%
## 6 Black or African American (Not Hispanic or Latino)                7%
##   male_percentage grand_total
## 1             36%         52%
## 2              4%         11%
## 3              1%          3%
## 4              4%          8%
## 5              2%          7%
## 6             12%         19%
promotion1$female_percentage <- as.numeric(gsub("\\%", "", promotion1$female_percentage))
promotion1$male_percentage <- as.numeric(gsub("\\%", "", promotion1$male_percentage))
promotion1$grand_total <- as.numeric(gsub("\\%", "", promotion1$grand_total))

promotion1$race_etnicity[promotion1$race_etnicity == "White (Not Hispanic or Latino)"] <- "White"
promotion1$race_etnicity[promotion1$race_etnicity == "Asian (Not Hispanic or Latino)"] <- "Asian"
promotion1$race_etnicity[promotion1$race_etnicity == "Black or African American (Not Hispanic or Latino)"] <- "Black or African American"


promotion1
##               race_etnicity female_percentage male_percentage grand_total
## 1                     White                16              36          52
## 2        Hispanic or Latino                 7               4          11
## 3                     Other                 3               1           3
## 4               Undisclosed                 4               4           8
## 5                     Asian                 5               2           7
## 6 Black or African American                 7              12          19
promotion2 <- promotion1 %>%
mutate(female_per = (female_percentage * 100) / sum(female_percentage)) %>% 
  mutate(male_per = (male_percentage * 100) / sum(male_percentage)) %>%
  mutate_if(is.numeric, round, digits= 1)
promotion2
##               race_etnicity female_percentage male_percentage grand_total
## 1                     White                16              36          52
## 2        Hispanic or Latino                 7               4          11
## 3                     Other                 3               1           3
## 4               Undisclosed                 4               4           8
## 5                     Asian                 5               2           7
## 6 Black or African American                 7              12          19
##   female_per male_per
## 1       38.1     61.0
## 2       16.7      6.8
## 3        7.1      1.7
## 4        9.5      6.8
## 5       11.9      3.4
## 6       16.7     20.3
promotion_female <- promotion2
  
promotion_female <- data.frame(
  group = c("White", "Asian", "Black or African American", "Undisclosed", "Other", "Hispanic or Latino"),
  value = c(38.1, 16.7, 7.1, 9.5, 11.9, 16.7)
  )
promotion_female
##                       group value
## 1                     White  38.1
## 2                     Asian  16.7
## 3 Black or African American   7.1
## 4               Undisclosed   9.5
## 5                     Other  11.9
## 6        Hispanic or Latino  16.7
library(RColorBrewer)

color <- brewer.pal(length(count), "Set1") 
## Warning in brewer.pal(length(count), "Set1"): minimal value for n is 3, returning requested palette with 3 different levels
pie(promotion_female$value,

labels=as.character(paste(promotion_female$group, paste0(promotion_female$value, "%"))),

main="Female Promotions",

clockwise=TRUE, col = color) 

promotion_male <- promotion2
  
promotion_male <- data.frame(
  group = c("White", "Asian", "Black or African American", "Undisclosed", "Other", "Hispanic or Latino"),
  value = c(61, 6.8, 1.7, 6.8, 3.4, 20.3)
  )
promotion_female
##                       group value
## 1                     White  38.1
## 2                     Asian  16.7
## 3 Black or African American   7.1
## 4               Undisclosed   9.5
## 5                     Other  11.9
## 6        Hispanic or Latino  16.7
pie(promotion_male$value,

labels=as.character(paste(promotion_male$group, paste0(promotion_male$value, "%"))),

main="Male Promotions",

clockwise=TRUE, col = color)