ITPub博客

首页 > > > 用R语言对工资单进行统计分析

用R语言对工资单进行统计分析

作者:浪花小雨滴 时间:2020-06-16 16:16:52 0 删除 编辑

1、数据来源

在kaggle上找的一组数据,关于洛杉矶市控制局自2013年以来每季度向所有城市职工发放的工资单,我们可以分析一下里面数据的平均值、四分位数、标准差和标准分,从这些数据又能得出什么信息

2、四个指标

主要是从4个指标进行分析:

1、平均数:

用以衡量某个数据集的中心位置,将所有数据的值相加,在除以数据的项数,就得到了平均数。

2、分位数:

(1)中位数:如果项数是偶数,中位数就是以递增顺序排列的所有数据项的正中央的两项的平均值

如果项数是奇数,中位数就是以递增顺序排列的所有数据项的正中央的那一项的数值

(2)四分位数:第1分位数----第25百分位数 第2分位数----第50百分位数

第3分位数----第75百分位数

3、标准差:

方差开根号就是标准差,用来描述数据的波动性,其值越大,说明越不稳定,反之亦然。

4、标准分:

这个名词也是第一次听,它的意思大概是:原始分数和母体平均值间的距离,可用来计算相对排名

分子两项分别表示第i项的值减去样本平均数,分母表示样本标准差。

3、R实现指标

因为找的这个数据变量很多,有35个,所以只是抽取了其中的年份和基本工资这两个变量进行分析,分析了2013年到2016年的基本工资的四个指标的变化情况。

#载入包
library("openxlsx")
library(ggplot2)
library(xlsx)
#读入数据
data <- read.xlsx("C:/Users/Administrator/Desktop/data.xlsx")

#重新命名变量
data<-rename(data,Basepay=Base.Pay)

(1)平均值的计算

mean(data$Basepay[1:56637])
mean(data$Basepay[56638:112918])
mean(data$Basepay[112919:172049])
mean(data$Basepay[172050:281554])

上图中,分别计算出了13/14/15/16四年的基本工资平均值,发现在13到15年,基本工资基本上浮动不大,但是在16年出现了一个非常低的平均工资数,大致看了下数据,因为这个工资是洛杉矶市所有城市职工的工资,其中16年出现了很多低工资的情况,直接拉低了平均值,而这一年的基本工资也不是很高。

(2)四分位数

2013年

quantile(data$Basepay[1:56637])      #四分位数1
fivenum(data$Basepay[1:56637])       #四分位数2
summary(data$Basepay[1:56637])       #四分位数3

2014年

quantile(data$Basepay[56638:112918])      #四分位数1
fivenum(data$Basepay[56638:112918])       #四分位数2
summary(data$Basepay[56638:112918])       #四分位数3

2015年

quantile(data$Basepay[112919:172049])       #四分位数1
fivenum(data$Basepay[112919:172049])        #四分位数2
summary(data$Basepay[112919:172049])        #四分位数3

2016年

quantile(data$Basepay[172050:281554])     #四分位数1
fivenum(data$Basepay[172050:281554])      #四分位数2
summary(data$Basepay[172050:281554])      #四分位数3

注:这边本来想着做一个箱线图可能会看的更明显,但是由于数据量太多,软件没有办法做出图形来,额,这边不知道怎么解决.......

(3)标准差

sd(data$Basepay[1:56637])
sd(data$Basepay[56638:112918])
sd(data$Basepay[112919:172049])
sd(data$Basepay[172050:281554])

算出来很震惊,没有见过这么大的标准差,浮动也太大了,算了几次没有问题啊,不过是不是能说明洛杉矶市城市职工的工资相差还很很大的,就是说贫富差距有点大啊!

(4)标准分

scale(data$Basepay[1:56637])
scale(data$Basepay[56638:112918])
scale(data$Basepay[112919:172049])
scale(data$Basepay[172050:281554])

因为得出的数据太多,就不一一罗列了,只列出一小部分

总结:1、代码很普通,也比较冗余,以后得加强对代码的优化

2、勉强算出了4个指标,此次分析的是美国洛杉矶市控制局每年向城市职工发放的基本工资,数据量非常大,作为美国第二大城市,其工资的数额非常大,所以最后算出来的平均值、四分位数、标准差也非常的大,尤其标准差说明了其工资的波动很大,贫富差距还是很大的,财富还是掌握在少数人的手里。

3、这里只是做了一个小小的实践,便于比较四个指标在统计分析中的作用。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3132011/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    39990