library(readr)
## Warning: package 'readr' was built under R version 4.4.2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2
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
hr <- read_csv('https://raw.githubusercontent.com/aiplanethub/Datasets/refs/heads/master/HR_comma_sep.csv')
## Rows: 14999 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): Department, salary
## dbl (8): satisfaction_level, last_evaluation, number_project, average_montly...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
t_test1 <- t.test(satisfaction_level ~ left, data = hr)
print(t_test1)
##
## Welch Two Sample t-test
##
## data: satisfaction_level by left
## t = 46.636, df = 5167, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## 0.2171815 0.2362417
## sample estimates:
## mean in group 0 mean in group 1
## 0.6668096 0.4400980
ggplot(hr, aes(x = factor(left), y = satisfaction_level)) +
geom_boxplot() +
labs(title = "Comparison of Satisfaction Levels between Employees Who Stayed and Left",
x = "Left (0 = Stayed, 1 = Left)",
y = "Satisfaction Level")
Technical Interpretation: The p-value here tells us if there’s a statistically significant difference in satisfaction levels between employees who left (left = 1) and those who stayed (left = 0). A p-value < 0.05 suggests a significant difference.
Non-Technical Interpretation: This test helps us understand if employees who left the company had different satisfaction levels compared to those who stayed. A low p-value would indicate that dissatisfaction is likely linked to employees leaving.
t_test2 <- t.test(last_evaluation ~ left, data = hr)
print(t_test2)
##
## Welch Two Sample t-test
##
## data: last_evaluation by left
## t = -0.72534, df = 5154.9, p-value = 0.4683
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## -0.009772224 0.004493874
## sample estimates:
## mean in group 0 mean in group 1
## 0.7154734 0.7181126
ggplot(hr, aes(x = factor(left), y = last_evaluation)) +
geom_boxplot() +
labs(title = "Comparison of Last Evaluation Scores between Employees Who Stayed and Left",
x = "Left (0 = Stayed, 1 = Left)",
y = "Last Evaluation Score")
Technical Interpretation: The p-value shows whether there’s a significant difference in the last evaluation scores between those who left and those who stayed.
Non-Technical Interpretation: This test checks if employees who left received different performance evaluations than those who stayed. A significant result might indicate that high or low evaluations correlate with attrition.
t_test3 <- t.test(average_montly_hours ~ left, data = hr)
print(t_test3)
##
## Welch Two Sample t-test
##
## data: average_montly_hours by left
## t = -7.5323, df = 4875.1, p-value = 5.907e-14
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## -10.534631 -6.183384
## sample estimates:
## mean in group 0 mean in group 1
## 199.0602 207.4192
ggplot(hr, aes(x = factor(left), y = average_montly_hours)) +
geom_boxplot() +
labs(title = "Comparison of Average Monthly Hours between Employees Who Stayed and Left",
x = "Left (0 = Stayed, 1 = Left)",
y = "Average Monthly Hours")
Technical Interpretation: The p-value tells us if there’s a statistically significant difference in the average monthly hours worked by employees who left versus those who stayed.
Non-Technical Interpretation: This test helps us determine if overwork or underwork could be a reason employees are leaving. A significant result suggests that employees working different hours may have higher attrition rates.
t_test4 <- t.test(time_spend_company ~ left, data = hr)
print(t_test4)
##
## Welch Two Sample t-test
##
## data: time_spend_company by left
## t = -22.631, df = 9625.6, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## -0.5394767 -0.4534706
## sample estimates:
## mean in group 0 mean in group 1
## 3.380032 3.876505
ggplot(hr, aes(x = factor(left), y = time_spend_company)) +
geom_boxplot() +
labs(title = "Comparison of Tenure between Employees Who Stayed and Left",
x = "Left (0 = Stayed, 1 = Left)",
y = "Years Spent at Company")
Technical Interpretation: This p-value tests if there’s a significant difference in the number of years employees have spent at the company between those who left and those who stayed.
Non-Technical Interpretation: This test shows if the duration of employment impacts the likelihood of employees leaving. A significant p-value would indicate that those who stayed may have a different tenure than those who left.