Analyzing employee engagement

HR Analytics: Exploring Employee Data in R

Ben Teusch

HR Analytics Consultant

What is employee engagement?

  • engaged employees: those who are involved in, enthusiastic about and committed to their work and workplace. (Gallup)
1 http://news.gallup.com/poll/180404/gallup-daily-employee-engagement.aspx
HR Analytics: Exploring Employee Data in R

What is employee engagement?

HR Analytics: Exploring Employee Data in R

The survey data

head(survey)
# A tibble: 6 × 5
  employee_id department  engagement  salary vacation_days_taken
        <dbl> <chr>            <dbl>   <dbl>               <dbl>
1           1 Sales                3 103264.                   7
2           2 Engineering          3  80709.                  12
3           4 Engineering          3  60737.                  12
4           5 Engineering          3  99116.                   7
5           7 Engineering          3  51022.                  18
6           8 Engineering          3  98400.                   9
HR Analytics: Exploring Employee Data in R

Review of mutate()

survey %>% 
  mutate(max_salary = max(salary))
# A tibble: 1,470 × 6
   employee_id department  engagement  salary vacation_days_taken max_salary
         <dbl> <chr>            <dbl>   <dbl>               <dbl>      <dbl>
 1           1 Sales                3 103264.                   7    164073.
 2           2 Engineering          3  80709.                  12    164073.
 3           4 Engineering          3  60737.                  12    164073.
 4           5 Engineering          3  99116.                   7    164073.
 5           7 Engineering          3  51022.                  18    164073.
 6           8 Engineering          3  98400.                   9    164073.
 7          10 Engineering          3  57106.                  18    164073.
 8          11 Engineering          1  55065.                   4    164073.
 9          12 Engineering          4  77158.                  12    164073.
10          13 Engineering          2  48365.                  14    164073.
# i 1,460 more rows
# i Use `print(n = ...)` to see more rows
HR Analytics: Exploring Employee Data in R
x <- 5
if(x < 10){ "True" } else { "False" }
"True"
z <- c(5, 8, 11, 14)

if(z < 10){ "True" } else { "False" }
Error in if (z < 10) { : the condition has length > 1
ifelse(z < 10, "Yes", "No")
"Yes"  "Yes"  "No" "No"
HR Analytics: Exploring Employee Data in R

ifelse() + mutate()

survey %>% 
  mutate(takes_vacation = ifelse(vacation_days_taken > 10, "Yes", "No"))
# A tibble: 1,470 × 6
   employee_id department  engagement  salary vacation_days_taken takes_vacation
         <dbl> <chr>            <dbl>   <dbl>               <dbl> <chr>         
 1           1 Sales                3 103264.                   7 No            
 2           2 Engineering          3  80709.                  12 Yes           
 3           4 Engineering          3  60737.                  12 Yes           
 4           5 Engineering          3  99116.                   7 No            
 5           7 Engineering          3  51022.                  18 Yes           
 6           8 Engineering          3  98400.                   9 No            
 7          10 Engineering          3  57106.                  18 Yes           
 8          11 Engineering          1  55065.                   4 No            
 9          12 Engineering          4  77158.                  12 Yes           
10          13 Engineering          2  48365.                  14 Yes           
# i 1,460 more rows
# i Use `print(n = ...)` to see more rows
HR Analytics: Exploring Employee Data in R

Multiple summarizes

survey %>% 
  group_by(department) %>% 
  summarize(max_salary = max(salary))
# A tibble: 3 × 2
  department  max_salary
  <chr>            <dbl>
1 Engineering    164073.
2 Finance        127013.
3 Sales          143105.
HR Analytics: Exploring Employee Data in R

Multiple summarizes

survey %>% 
  group_by(department) %>% 
  summarize(max_salary = max(salary),
            min_salary = min(salary),
            avg_salary = mean(salary))
# A tibble: 3 × 4
  department  max_salary min_salary avg_salary
  <chr>            <dbl>      <dbl>      <dbl>
1 Engineering    164073.     45530.     73576.
2 Finance        127013.     45714.     76652.
3 Sales          143105.     46134.     75074.
HR Analytics: Exploring Employee Data in R

Let's practice!

HR Analytics: Exploring Employee Data in R

Preparing Video For Download...