R语言smoothHR包_R语言-离职率分析

本文使用R语言分析员工离职率,发现年轻、工龄短、频繁加班、无晋升机会、低月薪与高离职率相关。低级别职位、销售部门离职率较高,而满意度高、有股权的员工离职率低。模型显示,加班和回报不平衡是主要离职原因,其次是生活因素如出差和通勤距离。年龄、工龄和股权也影响离职决策。

案例:员工流失是困扰企业的关键因素之一,在这次的分析中我将分析以下内容:

对一些重要变量进行可视化及探索分析,收入,晋升,满意度,绩效,是否加班等方面进行单变量分析

分析员工流失的因素,探索各个变量的影响度

构建有效的模型来预测员工是否会离职

数据集主要分析的字段

## Attrition 是否离职 需要预测的结果变量## Gender 性别## Age 年龄## Education 学历## NumCompaniesWorked 任职过的企业数量## TotalWorkingYears 工作年限## MaritalStatus 婚姻状况## YearsAtCompany 在公司的工作时间## JobRole 职位## JobLevel 职位等级## MonthlyIncome 月薪## JobInvolvement 工作投入程度## PerformanceRating 绩效评分## StockOptionLevel 员工的股权等级## PercentSalaryHike 涨薪百分比## TrainingTimesLastYear 上一年培训次数## YearsSinceLastPromotion 距离上次升值的时间## EnvironmentSatisfaction 环境满意度## JobSatisfaction 工作满意度## RelationshipSatisfaction 关系满意度## WorkLifeBalance 生活和工作的平衡度## DistanceFromHome 公司和家庭的距离## OverTime 是否要加班## BusinessTravel 是否要出差

1.导入包

library(ggplot2)

library(grid)

library(gridExtra)

library(plyr)

library(rpart)

library(rpart.plot)

library(randomForest)

library(caret)

library(gbm)

library(survival)

library(pROC)

library(DMwR)

library(scales)

2.导入数据集并查看

Attr.df

head(Attr.df)

summary(Attr.df)

结论:离职率大概在1:5左右

企业的员工的平均年龄在36,37岁左右

月薪的大概是在4900美元,这里采用中位数,平均数会引起偏差

3.单变量分析

3.1探索性别,年龄,工龄,企业数量,在公司的时限的分析

#离职员工年龄的分布

g1

g2

g3

g4

grid.arrange(g1,g2,g3,g4,ncol=2,nrow=2)

结论:

1.年龄较低的员工的离职率较高,主要集中在30

创建数据库表 `ecology.dbo.transfer_log` 时,需要为每个字段定义合适的数据类型和约束条件。以下是基于常见业务需求和数据库设计规范的建议字段定义: - `requestid`:通常用于标识请求的唯一ID,建议使用 `VARCHAR` 类型并设置合适的长度。 - `from_id` 和 `to_id`:通常用于标识数据的来源和目标,建议使用 `BIGINT` 类型。 - `operator`:表示操作者,可以使用 `VARCHAR` 类型。 - `transfer_time`:表示操作发生的时间,建议使用 `DATETIME` 类型。 - `interface`:表示接口名称,建议使用 `VARCHAR` 类型。 - `is_finished`:表示操作是否完成,建议使用 `TINYINT` 或 `BOOLEAN` 类型。 - `log`:用于存储日志信息,建议使用 `TEXT` 或 `LONGTEXT` 类型。 以下是完整的 SQL 创建语句: ```sql CREATE TABLE IF NOT EXISTS ecology.dbo.transfer_log ( requestid VARCHAR(100) NOT NULL, from_id BIGINT NOT NULL, to_id BIGINT NOT NULL, operator VARCHAR(50) NOT NULL, transfer_time DATETIME NOT NULL, interface VARCHAR(100) NOT NULL, is_finished TINYINT NOT NULL DEFAULT 0, log TEXT, PRIMARY KEY (requestid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` 在上述 SQL 语句中: - `requestid` 被设置为主键,用于唯一标识每条记录。 - `from_id` 和 `to_id` 字段用于标识数据的来源和目标。 - `transfer_time` 记录了操作发生的时间。 - `is_finished` 字段用于标识操作是否完成,默认值为 `0`(未完成)。 - `log` 字段用于存储相关的日志信息,支持较长的文本内容。 如果需要进一步优化性能或满足特定业务需求,可以考虑以下扩展: - 添加索引以加速查询操作,例如在 `from_id` 和 `to_id` 上添加索引。 - 设置外键约束以确保数据完整性(如果与其他表有关联)。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值