美文网首页数据-R语言-图表-决策-Linux-Python
描述统计学之R语言实战1:表格法

描述统计学之R语言实战1:表格法

作者: 67呀 | 来源:发表于2019-03-10 17:39 被阅读55次

统计学是搜集、分析、表述和解释数据的科学与艺术,掌握统计学相关知识可以帮助我们更好的发现数据背后隐藏的价值,R语言是现今最受欢迎的数据分析和可视化工具之一。本篇主要介绍如何用表格法来统计分析单变量数据、两个变量的数据,并用R语言作为统计分析工具。

数据可以分为分类型数据数量型数据,分类型数据是用标签或名称来识别项目的类型,数量型数据是表示多少或大小的数值。

单变量的数据统计

频数分布是一种数据的表格汇总方法,表示在几个互不重叠组别中,每一组项目的个数(即频数)。

分类型数据统计

先用下面的样本数据来说明如何编制和解释分类型数据的频数分布。

1.可口可乐、健怡可乐、胡椒博士、百事可乐和雪碧是5种受欢迎的软饮料,可通过统计购买各类别饮料的次数分析它们受欢迎的程度,在R中导入“50次购买软饮料的样本数据”。

>library(xlsx)
> drink<-read.xlsx('/Users/liuqin/Documents/50次购买软饮料的样本数据.xlsx',1)
> head(drink)
  购买记录 饮料类别
1        1 可口可乐
2        2 健怡可乐
3        3 百事可乐
4        4 健怡可乐
5        5 可口可乐
6        6 可口可乐

2.使用table()函数创建一个频数分布表,表中统计了50次购买中每一种饮料出现的次数,可口可乐出现19次排在首位,百事可乐居第二位,第三位是健怡可乐,雪碧和胡椒博士并列第四。

> drinktable<-with(drink,table(饮料类别))
> drinktable
饮料类别
百事可乐 胡椒博士 健怡可乐 可口可乐     雪碧 
      13        5        8       19        5 

3.也可以将频数转化为相对频数分布百分数频数分布,可以得到每一种饮料在购买的饮料所占比例,可口可乐受欢迎程度最高,所占比例为0.38或38%,胡椒博士和雪碧受欢迎程度最低,所占比例为0.1或10%。

> prop.table(with(drink,table(饮料类别)))
饮料类别
百事可乐 胡椒博士 健怡可乐 可口可乐     雪碧 
    0.26     0.10     0.16     0.38     0.10 
> prop.table(with(drink,table(饮料类别)))*100
饮料类别
百事可乐 胡椒博士 健怡可乐 可口可乐     雪碧 
      26       10       16       38       10 

数量型数据统计

频数分布也适用于数量型数据,下面的样本数据来说明如何编制和解释数量型数据的频数分布。

1.样本数据是一家小型会计事务所对20位客户完成年末审计所需的时间(单位:天),在R中导入“年末审计时间的样本数据”。

> time<-read.xlsx('/Users/liuqin/Documents/年末审计时间样本数据.xlsx',1)
> head(time)
  客户 年末审计时间.单位.天.
1    1                    12
2    2                    15
3    3                    20
4    4                    22
5    5                    14
6    6                    14

2.数量型数据先要确定组数,然后确定每组组宽,最后确定组与组之间的组限

由于样本数据较少,可选择5个组数。组宽可通过样本最大值33减去最小值12,将极差除以组数后得到近似组宽为4.2,取整为5。组限必须将最大值和最小值包含进去,所以可将上限定为34,下限定为10。

> 审计时间 <- c("10~14", "15~19", "20~24", "25~29", "30~34")
> breaks <- c(10,14,19,24,29,34)

3.使用cut()函数按照指定的断点来分割数据,得到各个分组,使用table()函数得到频数表。我们可以观察到最频繁发生的审计时间在15~19天这一组,有8个审计时间属于这一组,只有1次审计需要30天以上。

> timetable<- cut(time$年末审计时间.单位.天., breaks = breaks, labels = 审计时间, right = TRUE )
> table(审计时间=timetable)
审计时间
10~14 15~19 20~24 25~29 30~34 
     4      8      5      2      1 

4.也可以将频数转化为相对频数分布和百分数频数分布,有0.4或40%的审计需要15~19天时间,只有0.05或5%的审计需要30天或更多时间。

> prop.table(table(审计时间=timetable))
审计时间
10~14 15~19 20~24 25~29 30~34 
  0.20   0.40   0.25   0.10   0.05 
>  prop.table(table(审计时间=timetable))*100
审计时间
10~14 15~19 20~24 25~29 30~34 
    20     40     25     10      5 

两个变量的数据统计

以上讨论了利用表格法对一个分类或数量变量的数据进行统计,下面将介绍如何编制两个变量数据的表格统计。

交叉分组表是一种汇总两个变量数据的方法,虽然两个变量可以是分类的或数量的,但一个变量是分类的而另一个变量是数据的交叉分组表最为常见。

1.样本数据为洛杉矶地区100家饭店的质量等级和代表性餐价数据,在R中导入“100家洛杉矶饭店的质量等级和餐价样本数据”。

> mydata<-read.xlsx('/Users/liuqin/Documents/100家洛杉矶饭店的质量等级和餐价样本数据.xlsx',1)
> head(mydata)
  饭店 质量等级 餐价.美元.
1    1       好         18
2    2       好         22
3    3       好         28
4    4     很好         38
5    5     很好         33
6    6       好         28

2.质量等级是一个分类变量,餐价是一个数量变量,使用xtabs()函数得到交叉分组表,左边栏对应质量等级变量,顶部边栏对应餐价变量。样本中质量等级为很好且餐价在20~29美元的饭店最多(22家),质量等级为优秀且餐价在10~19美元的饭店只有2家。

> 餐价<- c("10~19", "20~29", "30~39", "40~49")
> breaks <- c(10,19,29,39,49)
> 餐价<- cut(mydata$餐价.美元., breaks = breaks, labels = 餐价, right = TRUE )
> mytable<-xtabs(~mydata$质量等级+餐价,data=mydata)
> mytable
               餐价
mydata$质量等级 10~19 20~29 30~39 40~49
           好       13     14      1      0
           很好      9     22     17      2
           优秀      1      4      9      8

3.也可以将交叉分组表化为相对频数分布或百分数频数分布,样本中餐价在20~29美元且质量等级为很好的饭店占比最高,为22%,餐价在40~49美元且质量等级为好的饭店占比最低,为0%。

> prop.table(mytable)
               餐价
mydata$质量等级 10~19 20~29 30~39 40~49
           好     0.13   0.14   0.01   0.00
           很好   0.09   0.22   0.17   0.02
           优秀   0.01   0.04   0.09   0.08

4.使用pro.table()函数分别可生成边际比例,当参数为1时指代table()语句中的第一个变量,即质量等级变量,每一行是同一质量等级的餐价相对频数分布,对于质量等级最低的饭店,我们看到最大比例是较便宜的饭店(46%的饭店餐价是10~19美元,50%的饭店餐价是20~29美元)。对于质量等级最高的饭店,我们看到最大比例的是较贵的饭店(40.9%的饭店餐价是30~39美元,36.4%的饭店餐价是40~49美元)。

> prop.table(mytable,1)
               餐价
mydata$质量等级     10~19     20~29     30~39     40~49
           好   0.46428571 0.50000000 0.03571429 0.00000000
           很好 0.18000000 0.44000000 0.34000000 0.04000000
           优秀 0.04545455 0.18181818 0.40909091 0.36363636

5.当参数为2时指代table()语句中的第二个变量,即餐价变量,每一列是同一个餐价范围的质量等级相对频数分布,对于餐价最便宜的饭店,我们看到饭店质量等级较低的比例最高(56.5%的饭店质量等级为好,4.3%的饭店质量等级为优秀)。对于餐价最昂贵的饭店,我们看到饭店质量等级较高的比例最高(80%的饭店质量等级为优秀)。这个现象响应了一句老话“便宜没好货,好货不便宜”。

> prop.table(mytable,2)
               餐价
mydata$质量等级     10~19     20~29     30~39     40~49
           好   0.56521739 0.35000000 0.03703704 0.00000000
           很好 0.39130435 0.55000000 0.62962963 0.20000000
           优秀 0.04347826 0.10000000 0.33333333 0.80000000

下一篇《描述统计学之R语言实战2:图形法》将介绍如何使用R语言对单变量数据、两个变量数据进行图形显示。

相关文章

  • 描述统计学之R语言实战2:图形法

    上篇《描述统计学之R语言实战1:表格法》主要介绍了如何用R语言实现单变量数据、两个变量数据的表格统计法,本篇将介绍...

  • 描述统计学之R语言实战1:表格法

    统计学是搜集、分析、表述和解释数据的科学与艺术,掌握统计学相关知识可以帮助我们更好的发现数据背后隐藏的价值,R语言...

  • 商务与经济统计第二章笔记

    描述性统计学1:表格法和图形法 一、单个变量的汇总方法 1、表格汇总方法 1)频数分布 数量型变量则需要分组,5-...

  • 《商务与经济统计》笔记(二)

    描述统计学2:表格法和图形法 关键术语 数据可视化(data visualization):用于描述汇总和表述一个...

  • R语言统计系列汇总目录

    转眼间,我们的R语言统计系列已经经历的10期,我们从统计学最基础的统计描述讲到置换检验和自主法等内容,算是完成了统...

  • 《商务与经济统计》第12版学习2

    第2章 描述统计学Ⅰ:表格法和图形法 分类型数据是用标签或名称来识别项目的类型。数量型数据是表示多少或大小的数据。...

  • R 语言实战 读书笔记

    R语言实战(第2版) 学习笔记 1. R语言介绍 1.1 为什么用R语言 bla 1.2 基本操作 图表演示命令 ...

  • 数据分析(一): 《R语言实战》

    2016.12.31~2017.01.01开始学习R语言 计划利用元旦3天假期学完《R语言实战》1~7章粗略学习...

  • 本专题独白

    统计学的知识:《商务与经济统计》 安德森 这本书的讲解视频就挺好的 配套 R语言与实战那本书就好了。 做生信分析...

  • R语言基础--数据类型-总结

    R语言基础--数据类型-总结 1、R语言基础--数据类型之向量 2、R语言基础--数据类型之因子 3、R语言基础-...

网友评论

    本文标题:描述统计学之R语言实战1:表格法

    本文链接:https://www.haomeiwen.com/subject/cpmepqtx.html