A:分析の背景
今年の終わりには、昨年の仕事のエクソンの在庫は、人材と不満足の点では、同社の仕事ことを発見した場合。特定のパフォーマンスは以下のとおりです。年、従業員の分離の際に重要な時代に表示されます。スタッフの仕事のいくつかの熱意は高くない:トレーニングのスタッフが人員不足され、スロービジネスの発展につながる、従業員の人間の部分は、全体の状況を把握するために所定の位置にし、そうではありません。
第二に、データのインポートとプレビュー
## 加载包
library(dplyr)
library(ggplot2)
library(Rmisc) # multiplot() 分割绘图区域
#导入数据集
data<-read.csv('员工数据.csv')
#查看数据的内容摘要
summary(data)
#展示数据的结构摘要
str(data)
#展示部分数据
head(data)
このフィールドの満足度は、欠損値、データのさらなる洗浄のために、後続の必要性が存在します。
第三に、データクレンジングと変換
の平均で欠損値の値アップ:
data[is.na(data$员工满意度),'员工满意度']<-mean(data$员工满意度,na.rm = TRUE)
head(data,15)
型因子にデータ型を変換し、さらに行わその後の分析を容易にします
# 将数据类型转换成便于后续分析的类型
data$职位变动<-as.factor(data$职位变动)
data$离职<-as.factor(data$离职)
data$过去5年是否有升职<-as.factor(data$过去5年是否有升职)
str(data)
プロジェクト作業&平均従業員数の合計時間:新しい機能の変数を作成する(コラム)
# 创建新的特征变量(列)-总工作时长&员工平均项目数
new.data<-data%>%
mutate('总工作时长'= 平均每月工作小时 * 12 * 在公司工作年限,'年均项目数' = 项目数/在公司工作年限)%>%
as.data.frame
# 查看数据
str(new.data)
第四に、探索的データ解析
同社の従業員が長いとか関係満足度、性能評価および作業の月平均売上高を探索するとき
# 绘制对公司满意度与是否离职的箱线图
box_sat <- ggplot(new.data, aes(x = 离职, y = 员工满意度, fill = 离职)) +
geom_boxplot() +
theme_bw() + # 一种ggplot的主题
labs(x = '离职', y = '员工满意度') # 设置横纵坐标标签
box_sat
# 绘制绩效评估与是否离职的箱线图
box_eva <- ggplot(new.data, aes(x = 离职, y = 最后一次绩效评估, fill = 离职)) +
geom_boxplot() +
theme_bw() +
labs(x = '离职', y = '最后一次绩效评估')
box_eva
# 绘制平均月工作时长与是否离职的箱线图
box_mon <- ggplot(new.data, aes(x = 离职, y = 平均每月工作小时, fill = 离职)) +
geom_boxplot() +
theme_bw() +
labs(x = '离职', y = '平均每月工作小时')
box_mon
# 绘制员工在公司工作年限与是否离职的箱线图
box_time <- ggplot(new.data, aes(x = 离职, y = 在公司工作年限, fill = 离职)) +
geom_boxplot() +
theme_bw() +
labs(x = '离职', y = '在公司工作年限')
box_time
# 合并这些图形在一个绘图区域,cols = 2的意思就是排版为一行二列
multiplot(box_sat, box_eva, box_mon, box_time, cols = 2)
要約:
会社の満足度、性能評価や仕事のとの関係を描くことができるかどうかの月平均売上高の長期従業員を探索することにより、元従業員が備わっています:
- 同社は満足、大部分0.4の周囲に濃縮を低下させます。
- 0.8よりも濃縮高い性能評価、;(
- より高いワーキングバランスの平均長さ、主に平均上記(200時間)。
- 約4年の実務経験で
関与探査プロジェクトの数は、5年以内に昇進し、給与や休暇の間には関係がありません
# 绘制参与项目个数与是否离职的百分比堆积条形图
bar_pro <- ggplot(new.data, aes(x = as.factor(new.data$项目数), fill = 离职)) +
geom_bar(position = 'fill') + # position = 'fill'即绘制百分比堆积条形图
theme_bw() +
labs(x = '项目数', y = '离职')
bar_pro
# 绘制5年内是否升职与是否离职的百分比堆积条形图
bar_5years <- ggplot(new.data, aes(x = 过去5年是否有升职, fill = 离职)) +
geom_bar(position = 'fill') +
theme_bw() +
labs(x = '过去5年是否有升职', y = '离职')
bar_5years
# 绘制薪资与是否离职的百分比堆积条形图
bar_salary <- ggplot(new.data, aes(x = 薪资水平, fill = 离职)) +
geom_bar(position = 'fill') +
theme_bw() +
labs(x = '薪资水平', y = '离职')
bar_salary
# 合并这些图形在一个绘图区域,cols = 3的意思就是排版为一行三列
multiplot(bar_pro, bar_5years, bar_salary, cols = 3)
探査プロジェクトの数に参加することで、5年以内に昇進し、給与や休暇の間に関係がない、我々は次のような結果を引き出すことができます。
- より複雑なアイテムの数、より高い離職率(2の試料を除去するための項目数)
- 5年以内に従業員の離職率のないプロモーションが比較的大きいんですが
- 給与高い離職率
ポスト順序を描画し、積み上げ棒グラフの割合を残しているかどうか
bar_salary <- ggplot(new.data, aes(x = 职务序列, fill = 离职)) +
geom_bar(position = 'fill') +
theme_bw() +
labs(x = '职务序列', y = '离职')
bar_salary
全体として、概ね異なる位置の従業員離職配列の割合が、管理クラスは、コア位置のこれらの比較的低い回転率を研究。
様々な位置シーケンス満足の箱ひげ図をレンダリング
box_eva <- ggplot(new.data, aes(x = 职务序列, y = 员工满意度,
fill = 职务序列)) +
geom_boxplot() +
theme_bw() +
labs(x = '职务序列', y = '员工满意度')
box_eva
全体的に、異なる位置の従業員満足度シーケンスの分布は大体が、HR、財務クラスの従業員は、比較的低い得点しました。
探索しながら、全従業員が年次休暇やアイテムの数との長い関係を働きます
# 员工总工作时长
box_total_time <- ggplot(new.data, aes(x = 离职, y = 总工作时长, fill = 离职)) +
geom_boxplot() +
theme_bw() +
labs(x = '离职', y = '总工作时长')
box_total_time
# 年均项目数数分布
box_avg_pro <- ggplot(new.data, aes(x = 离职, y = 年均项目数, fill = 离职)) +
geom_boxplot() +
theme_bw() +
labs(x = '离职', y = '年均项目数')
box_avg_pro
第五に、統計分析とモデリング
# 步骤1:生成表格,体现不同年限员工流失率
new.data$离职<-as.integer(new.data$离职) # 转换数据类型为整型
library(dplyr)
data.Turnover <- new.data %>%
group_by(在公司工作年限) %>% # 按工作年限进行分组
arrange(在公司工作年限) %>% # 按工作年限升序排列
dplyr::summarise(该年限离职员工数=sum(离职==2), 该年限员工总数=n()) %>% # 对分组后的工作年限进行离职人数和所有人数的汇总
mutate(该年限及以上所有员工数=rev(cumsum(rev(该年限员工总数)))) %>% # 新增列“该年限及该年限以上所有人数”
mutate(该年限员工流失率=该年限离职员工数/该年限及以上所有员工数) %>% # 新增列“该年限员工流失率”
select(在公司工作年限, 该年限离职员工数, 该年限员工总数, 该年限及以上所有员工数, 该年限员工流失率)%>% # 只保留表格的特定列
as.data.frame
# 步骤2:将体现不同年限员工流失率的表格可视化,找出流失率最高对应的年限
#install.packages("ggplot2")
library(ggplot2)
g <- ggplot(data.Turnover, aes(在公司工作年限,该年限员工流失率)) # 绘制散点图-流失率与工作年限的关系
g + geom_point() +
geom_line() +
theme_bw()+
labs(x = "在公司工作年限") +
labs(y = "该年限员工流失率") +
labs(title = "员工流失率与工作年限的关系")
最高の離職率は5年の実務経験でした
# 步骤3:做流失驱动力分析,寻找员工在流失率最高的年份离职的主要因素
data.5year <- new.data %>%
filter(在公司工作年限 >= '5') %>% # 筛选工作年限为 5 的数据
mutate(是否在第五年流失 = ifelse(在公司工作年限=='5' & 离职==2,1,0)) # 新增列“是否在第五年流失”
summary(data.5year)
# 步骤4:线性回归,了解各因素对员工流失的影响
lm_fit <- lm(是否在第五年流失 ~ 项目数+平均每月工作小时+工作事故+过去5年是否有升职+职务序列+薪资水平+职位变动+员工满意度+最后一次绩效评估, data=data.5year)
library("car")
vif(lm_fit) # GVIF 均小于10,不存在共线性的干扰
# 挑选模型输入自变量
library(olsrr)
model <- lm(是否在第五年流失 ~ 项目数+平均每月工作小时+工作事故+过去5年是否有升职+职务序列+薪资水平+职位变动+员工满意度+最后一次绩效评估,data= data.5year)
k <- ols_step_all_possible(model)
print(k)
k[k$adjr==max(k$adjr),]
# 将调整R2最大的变量输入到线性回归模型
lm_fit <- lm(是否在第五年流失 ~ 项目数+平均每月工作小时+工作事故+过去5年是否有升职+薪资水平+职位变动+员工满意度+最后一次绩效评估, data.5year)
summary(lm_fit)
次のように線形回帰を使用して、従業員の離職率の第五年の主な要因の分析は、線形回帰の結果を得ることができます。
第五年間の損失であるかどうか= 1.31+ 0.76 *最終性能評価+ 0.30 + 0.10 * *従業員満足度の賃金の低+ 0.07 * + 0.05 *アイテム給与媒体-過去5年間のかどうか* 0.11 -仕事で0.11 *事故1-- 0.22 *位置変化が推進1
VI。結論と勧告分析
結論:
- 満足度と正の相関賃金、給与より高い満足度が高い、代謝回転速度を下げます。
- 高い性能評価、従業員の満足度低く、離職率の低い給与水準は非常に簡単です。
- 長い長い月平均仕事中、休暇に簡単に(200時間)、平均を上回ります。
- より多くのプロジェクトの離職率に関係する従業員の数が比較的多いです。
- 作業4--6年従業員の離職率は比較的高いです。
提案:
- 人事部門は、プロモーションの場合、満足度と高性能、低従業員の満足度、スタッフのこの部分の低い給与水準の心理評価に焦点を当てるべきです。
- 長い労働時間、スタッフの仕事のプレッシャー、ワークロードのタイムリーな調整、作業プログラムのための合理的な取り決めについては、
- その他の項目の数よりも、それは適切なスタッフの容量に応じて十分な支援を与えられた場合、スタッフの仕事のための高い要件、部門長を意味するだけでなく、要因に焦点を当てる必要があるかもしれません。
- 4--6年に相当する、より多くの注意を払うために主要な従業員は、実際の状況に応じて、これらの従業員の保持を改善、従業員の満足度を高めるために、適切なインセンティブやプロモーションを行います。