第1章统计学与R
在日常生活中,经常会接触到统计数据或一些统计研究结果。比如,在电视、报纸、网络等各种媒体中就会经常看见一些报道使用统计数据、图表等。作为一门科学的统计学研究什么呢?怎样获得所需要的统计数据呢?这就是本章将要介绍的内容。
1.1统计学与数据
1.1统计学与数据每个人都离不开统计,了解一些统计学知识对每个人都是必要的。比如,在外出旅游时,你需要关心一段时间内的详细天气预报;在投资股票时,你需要了解股票市场价格的信息,了解某只特定股票的有关财务信息;在观看足球比赛时,除了关心进球数的多少,你还要知道各支球队的技术统计,等等。要正确阅读并理解统计数据或统计结论,就需要具备一些统计学知识。
1.1.1什么是统计学
在日常工作或管理中,总会面对各种各样的数据。这些数据如果不去分析,那它也仅仅是一堆数据,没有太多的价值。如何分析这些数据,用什么方法分析数据,并从分析中得出某些结论以帮助我们做出决策,这正是统计学要解决的问题。简言之,统计学(statistics)研究收集、处理、分析、解释数据并从数据中得出结论的原则和方法。统计学所提供的是一系列有关数据收集、数据处理、数据分析和数据解释的方法。
数据收集就是取得所需要的数据。数据的收集方法可分为两大类:一是观察方法,二是实验方法。观察方法是通过调查或观测而获得数据,实验方法是在控制实验对象条件下通过实验而获得数据。
数据处理是对所获得的数据进行加工和处理,包括数据的计算机录入、筛选、分类和汇总等,以符合进一步分析的需要。
数据分析是利用统计方法对数据进行分析。数据分析所用的方法大体上可分为描述统计(descriptive statisics)和推断统计(inferential statistics)两大类。描述统计主要是利用图表形式对数据进行展示,计算一些简单的统计量(诸如比例、比率、平均数、标准差等)进行分析。推断统计主要研究如何根据样本信息来推断总体的特征,内容包括参数估计和假设检验两大类。参数估计是利用样本信息推断所关心的总体特征,假设检验则是利用样本信息判断对总体的某个假设是否成立。比如,从一批灯泡中随机抽取少数几个灯泡作为样本,测出它们的使用寿命,然后根据样本灯泡的平均使用寿命估计这批灯泡的平均使用寿命,或者是检验这批灯泡的使用寿命是否等于某个假定值,这就是推断统计要解决的问题。
数据解释是对分析的结果进行说明,包括结果的含义、从分析中得出的结论等。
统计学是一门关于数据的科学,它研究的是来自各领域的数据,提供的是一套通用于所有学科领域的获取数据、分析数据并从数据中得出结论的原则和方法。统计方法通用于所有的学科领域,而不是为某个特定的问题领域而构造的。当然,统计方法和技术并不是一成不变的,使用者在给定的情况下必须根据所掌握的专门知识选择使用这些方法,而且,如果需要还要进行必要的修正。
1.1.2数据及其来源
统计分析离不开数据,没有数据统计方法就成了无米之炊。数据是什么?怎样获得所需的数据?
1.变量与数据
观察一个企业的销售额,你会发现这个月和上个月有所不同;观察股票市场上涨股票的家数,今天与昨天数量不一样;观察一个班学生的生活费支出,一个人和另一个人不一样;投掷一枚骰子观察其出现的点数,这次投掷的结果和下一次也不一样。这里的“企业销售额”、“上涨股票的家数”、“生活费支出”、“投掷一枚骰子出现的点数”等就是变量。简言之,变量(variable)是描述所观察对象某种特征的概念,其特点是从一次观察到下一次观察可能会出现不同结果。变量的观测结果就是数据(data)。
根据观测结果的特征,变量可以分为类别变量和数值变量两种。
类别变量(categorical variable)是取值为事物属性或类别以及区间值的变量,也称分类变量(classified variable)或定性变量(qualitative variable)。比如,观察人的性别、公司所属的行业、用户对商品的评价时,得到的结果就不是数字,而是事物的属性。例如,观测性别的结果是“男”或“女”,公司所属的行业为“建造业”、“零售业”、“旅游业”等,用户对商品的评价为“很好”、“好”、“一般”、“差”、“很差”。人的性别、公司所属的行业、用户对商品的评价等作为变量取的值不是数值,而是事物的属性或事物的类别。此外,学生的月生活费支出档次可能分为1000元以下、1000~1500元、1500~2000元、2000元以上4档,作为变量的“月生活费支出档次”这4档取值也不是普通的数值,而是数值区间,因而也称为区间值类别变量。人的性别、公司所属的行业、用户对商品的评价、学生的月生活费支出档次等都是类别变量。
类别变量根据取值是否有序通常分为两种:名义(nominal)值类别变量和顺序(ordinal)值类别变量。名义值类别变量也称无序类别变量,其取值是不可以排序的。例如“公司所属的行业”这一变量取值为“建造业”、“零售业”、“旅游业”等,这些取值之间不存在顺序关系。再比如“商品的产地”这一变量取值为“甲”、“乙”、“丙”、“丁”,这些取值之间也不存在顺序关系。顺序值类别变量也称有序类别变量,其取值间可以排序。例如“对商品的评价”这一变量的取值为“很好”、“好”、“一般”、“差”、“很差”,这5个值之间是有序的。取区间值的变量当然是有序的类别变量。当类别变量只取两个值时也称为二值(binary)类别变量,例如“性别”这一变量取值为“男”和“女”。二值变量可以看成名义变量,也可以看成有序变量。
类别变量的观测结果称为类别数据(categorical data)。类别数据也称为“分类数据”或“定性数据”。与类别变量相对应,类别数据相应分为名义值类别数据和顺序值类别数据两种。其中只取两个值的类别数据也称为二值类别数据。
数值变量(metric variable)是取值为数字的变量,也称为定量变量(quantitative variable)。例如“企业销售额”、“上涨股票的家数”、“生活费支出”、“投掷一枚骰子出现的点数”等这些变量的取值可以用数字来表示,都属于数值变量。数值变量的观测结果称为数值数据(metric data)或定量数据。
. 数值变量根据其取值的不同,可以分为离散变量(discrete variable)和连续变量(continuous variable)。离散变量是只能取有限个值的变量,而且其取值可以一一列举,如“企业数”、“产品数量”等就是离散变量。连续变量是可以在一个或多个区间中取任何值的变量,它的取值是连续不断的,不能一一列举,如“年龄”、“温度”、“零件尺寸的误差”等都是连续变量。当离散变量的取值很多时,也可以将离散变量当做连续变量来处理。
区分数据的类型是必要的,因为对不同类型的数据需要采用不同的统计方法来处理和分析。比如,对类别数据通常进行比例和比率分析、列联表分析和χ2检验等;对数值数据可以用更多的方法进行分析,如计算各种统计量、进行参数估计和检验等。
2.数据的来源
从哪里取得所需的数据呢?对大多数使用者来说,亲自去做调查或实验往往是不可能的。所使用的数据大多数是别人调查或科学实验的数据,对使用者来说就是二手数据。
二手数据主要是公开出版或公开报道的数据,这类数据主要来自各研究机构、国家和地方的统计部门、其他管理部门、专业的调查机构以及广泛分布在各种报刊、杂志、图书、广播、电视传媒中的各种数据等。现在,随着计算机网络技术的发展,也可以在网络上获取所需的各种数据。比如,各种金融产品的交易数据、官方统计网站的各种宏观经济数据等。利用二手数据对使用者来说既经济又方便,但使用时应注意统计数据的含义、计算口径和计算方法,以避免误用或滥用。同时,在引用二手数据时,一定要注明数据的来源,以尊重他人的劳动成果。
已有的数据不能满足需要时,可以亲自去调查或试验。比如,你想了解全校学生的生活费支出状况,可以从中抽出一个由200人组成的样本,通过对样本的调查获得数据。这里“全校所有学生生活费支出状况”是你所关心的总体(population),它是包含所研究的全部个体(数据)的集合。所抽取的200人就是一个样本(sample),它是从总体中抽取的一部分元素的集合。构成样本的元素的数目称为样本量(sample size),抽取200人组成一个样本,样本量就是200。
怎样获得一个样本呢?要在全校学生中抽取200人组成一个样本,如果全校学生中每一个学生被抽中与否完全是随机的,而且每个学生被抽中的概率是已知的,这样的抽样方法称为概率抽样(probability sampling)。概率抽样方法分简单随机抽样、分层抽样、系统抽样、整群抽样等。
简单随机抽样(simple random sampling)是从含有N个元素的总体中抽取n个元素组成一个样本,使得总体中的每一个元素都有相同的机会(概率)被抽中。采用简单随机抽样时,如果抽取一个个体记录下数据后,再把这个个体放回到原来的总体中参加下一次抽选,叫做有放回抽样(sampling with replacement);如果抽中的个体不再放回,再从所剩下的个体中抽取第二个元素,直到抽取n个个体为止,这样的抽样方法叫做无放回抽样(sampling without replacement)。当总体数量很大时,无放回抽样可以视为有放回抽样。由简单随机抽样得到的样本称为简单随机样本(simple random sample)。多数统计推断都是以简单随机样本为基础的。
分层抽样(stratified sampling)也称分类抽样,它是在抽样之前先将总体的元素划分为若干层(类),然后从各个层中抽取一定数量的元素组成一个样本。比如,要研究学生的生活费支出,可先将学生按地区进行分类,然后从各类中抽取一定数量的学生组成一个样本。分层抽样的优点是使样本分布在各个层内,从而使样本在总体中的分布比较均匀,可以降低抽样误差。
系统抽样(systematic sampling)也称等距抽样,它是先将总体的元素按某种顺序排列,并按某种规则确定一个随机起点,然后每隔一定的间隔抽取一个元素,直至抽取n个元素组成一个样本。比如,要从全校学生中抽取一个样本,可以找到全校学生的花名册,按花名册中的学生顺序,用随机数找到一个随机起点,然后依次抽取就得到一个样本。
整群抽样(cluster sampling)是先将总体划分成若干群,然后以群作为抽样单元从中抽取部分群组成一个样本,再对抽中的每个群中包含的所有元素进行观察。比如,可以把每一个学生宿舍看做一个群,在全校学生宿舍中抽取一定数量的宿舍,然后对抽中的宿舍中每一个学生都进行调查。整群抽样的误差相对要大一些。
下面通过一个例子说明从总体中抽取简单随机样本的过程。
例1-1(数据:example1_1.RData)表1-1是一个班级50个学生的名单,采用简单随机抽样抽出10个学生组成一个随机样本。
表1-1某班级50个学生的名单学生编号姓名学生编号姓名1张松26姜洋2王翔27隗佳3田雨44王浩波4徐丽娜28于静5张志杰29李华6赵颖30高云7王智强31金梦迪8宋媛32徐海涛9袁方33张洋10张建国34李冬茗11李佳49王倩12马凤良35李宗洋13陈风36刘皓天14杨波37刘文涛15孙学伟38卢阳16林丽39马强17谭英键40孟子铎18欧阳飞41潘凯19吴迪42邱爽20周祥43邵海阳21刘晓军45孙梦婷22李国胜46唐健23蒋亚迪47尹韩24崔勇48王迪25黄向春50王思思
解:下面的文本框给出了抽取简单随机样本的R程序和结果。采用无放回抽样抽取随机样本> sample(example1_1$姓名,10,replace=FALSE)
[1] 徐丽娜张志杰徐海涛李国胜潘凯孙梦婷陈风尹韩刘文涛欧阳飞
50 Levels: 陈风崔勇高云黄向春姜洋蒋亚迪金梦迪 ... 周祥采用有放回抽样抽取随机样本> sample(example1_1$姓名,10,replace=TRUE)
[1] 赵颖李佳田雨金梦迪王迪尹韩王浩波李宗洋黄向春袁方
50 Levels: 陈风崔勇高云黄向春姜洋蒋亚迪金梦迪 ... 周祥(注:sample(x,n)函数可以从数据x中抽取样本量为n的一个简单随机样本。函数隐含为replace=FALSE。有放回抽样时replace=TRUE,此时一个个体有可能被重复抽取。由于是随机抽取,每次运行程序通常产生一个不同的样本。结果的第一行为10个学生构成的一个随机样本,第二行为50个学生名单的姓氏字母排序。)
1.2R简介
1.2R简介R是基于R语言的一种优秀的统计软件。R语言是一款优秀的统计计算语言,是贝尔实验室开发的S语言的一种实现。R语言有许多优点,比如,与多数统计软件相比,R语言是免费的;更新速度快,可以包含很多最新方法的实现方案,而其他软件的更新需要比较长的时间;可以提供丰富的数据分析技术,功能十分强大;绘图功能强大,可以按照需求画出所需的图形进行可视化。
在CRAN网站http://www.r-project.org/上可以下载R的各种版本,包括Windows、Linux和Mac OX三个版本,用户可以根据自己的平台选择相应的版本。
1.2.1R的初步使用
1. R的启动
在下载并安装R后,启动R出现的开始界面如图1-1所示。
图1-1Windows中的R界面
R命令要在命令提示符“>”后输入,每次执行一条命令,可以通过编写脚本一次执行多条命令。
2.为对象赋值并运行
R运行的是一个对象,在运行前需要给对象赋值。R语言中标准的赋值符号是“(-”,也允许使用“=”进行赋值,但推荐使用更加标准的前者。比如,要给对象x赋值5,命令为:> x(-5也可以给对象x赋值一个向量。比如,将5个数据75,82,93,68,84赋值给x,命令如下:> x(-c(75,82,93,68,84)然后就可以对x进行各种计算和绘图。比如,要计算对象x的均值,命令为:> mean(x)
[1] 80.43.查看R函数的帮助文件
R软件中的每个函数都有相应的帮助说明,使用中遇到疑问时,可以随时查看帮助文件。
比如,要想了解mean函数的功能和使用方法,使用help命令查询该函数(必须在联网状态下),命令为:> help(mean)或者使用help的简写形式,在函数名前加“?”符号:> ?meanR软件会输出mean()函数的具体说明,包括函数中参数设定、结果结构、使用例子等内容。当对一个函数不太清楚时,可以得到很大的帮助。
1.2.2数据的读入与保存
在运行R时,首先需要读入数据。可以在R中输入数据,也可以读取已有的数据文件。R可以读入很多类型的数据文件。
R数据文件是以.RData为后缀的,这类文件读入比较简单。R软件还可以读入SPSS、SAS、XML等多种格式的数据文件,但都需要其他函数包的支持,读者可以参考相关文档,这里不再具体说明。读取R数据文件的命令为:> load("mydata.RData")其中,在mydata.RData中应该说明文件存放的路径,注意路径中分隔符号是“\\\\”或者“/”,如“D:/example/mydata.RData”。
为便于数据的查找和读入,本书的例题数据文件命名为“example”,并按章分类存放在D:/盘下。比如,例1-1的数据存放的路径为:D:/example/ch1/example1_1.RData,其中ch1表示第1章,后缀“.RData”表示R数据文件。当一个例题的数据被多次使用时,均使用第一次出现时的文件名。本书的数据可从华章公司的网站(www.hzbook.com)下载。
下面通过一个例子说明如何在R中读入一个Excel文件并将其存为R数据文件。
下面是以Excel格式存放的例1-1数据的一部分(第一行为变量名,下面是数据的形式)。
第一步把Excel文件存为“csv”数据格式。首先,在D:/盘下建立一个例题数据文件及其子目录:D:/example/ch1。然后将Excel数据存为“csv”格式,保存在目录“D:/example/ch1”下并取名为“example1_1”,即路径为:“D:/example/ch1/example1_1”。
第二步在R中读取csv文件。如果csv文件中包含标题(如例1-1的姓名),使用以下命令:> example1_1(-read.csv("D:/example/ch1/example1_1.csv")如果csv文件中不包含标题,使用以下命令:> example1_1(-read.csv("D:/example/ch1/example1_1.csv",header=FALSE)第三步将文件存为R数据文件。使用save函数将对象存为一个R文件,命令如下:> save(example1_1,file="D:/example/ch1/example1_1.RData")其中,file=""指定文件的存放路径和名称,后缀必须是“.RData”。
这样,例1-1就被存为R数据文件了。要对数据进行分析,需要先将数据读入R中,命令为:> load("D:/example/ch1/example1_1.RData")然后就可以根据需要对数据进行各种分析了。R在运行该数据文件时,并不显示该数据。如果要在R中查看该数据,使用命令:> example1_1如果只想查看该数据的前几行,比如要查看前10行,使用命令:> head(example1_1,10)结果如下所示。学生编号姓名
11张松
22王翔
33田雨
44徐丽娜
55张志杰
66赵颖
77王智强
88宋媛
99袁方
1010张建国1.2.3包的安装和加载
R中的包(package)是指包含了R数据、函数等的集合。大部分统计分析都可以通过已有的R包来实现。在安装R时,带了一系列默认包(包括base、datasets、utils、grDevices、graphics、stats以及methods),它们提供了种类繁多的默认函数和数据集。其他包可通过下载来进行安装。使用函数library()可以显示你的R中已经安装了哪些包。
在使用R时,可根据需要随时安装所需的包。命令为:> install.packages()比如,要安装ggplot2包,命令为:> install.packages("ggplot2")选择相应的镜像站点即可完成包的下载和安装。
在完成包的安装后,要使用该包,需要使用library()命令载入这个包。比如,要使用ggplot2包,执行命令:> library(ggplot2)要查看包的使用说明,使用命令:> help(package="package_name")这样就可以输出包的简短描述以及包中的函数名称和数据集名称的列表。使用函数help()可以查看其中任意函数或数据集的更多细节。
1.2.4函数的编写
如果你对数据的分析有特殊需要,已有的R包不能满足需要时,可以在R中编写自己的函数。下面介绍编写函数的方法。
函数的定义格式:> functionname(-function(a1,a2,…) expression其中,functionname是函数名称,function指明该对象为函数类型,a1,a2,…为函数中涉及的参数,expression是函数的具体内容。
比如,要自己编写计算x(-c(75,82,93,68,84)均值的函数,程序如下:> g(-function(data){
n(-length(x)
mean(-sum(x)/n
var(-sum((x-mean)^2)/n
return(mean)
}
> g(x)
[1] 80.4通过这个简单的例子,可以清楚编写一个函数的各个构成部分,更加详细的内容请查看相关资料。
思考与练习
思考与练习一、思考题
1.1请举出统计应用的几个例子。
1.2请举出统计应用的几个领域。
1.3你怎样理解统计的研究内容?
1.4举例说明类别变量和数值变量。
1.5获得数据的概率抽样方法有哪些?
二、练习题
1.1指出下面的变量类型。
(1) 年龄。
(2) 性别。
(3) 汽车产量。
(4) 员工对企业某项改革措施的态度(赞成、中立、反对)。
(5) 购买商品时的支付方式(现金、信用卡、支票)。
1.2一家研究机构从IT从业者中随机抽取1000人作为样本进行调查,其中60%的人回答他们的月收入在5000元以上,50%的人回答他们的消费支付方式是用信用卡。
(1) 这一研究的总体是什么?样本是什么?样本量是多少?
(2) “月收入”是名义类别变量、顺序类别变量还是数值变量?
(3) “消费支付方式”是名义类别变量、顺序类别变量还是数值变量?
1.3一项调查表明,消费者每月在网上购物的平均花费是200元,他们选择在网上购物的主要原因是“价格便宜”。
(1) 这一研究的总体是什么?
(2) “消费者在网上购物的原因”是名义类别变量、顺序类别变量还是数值变量?
1.4某大学的商学院为了解毕业生的就业倾向,分别在会计专业抽取50人、市场营销专业抽取30人、企业管理专业抽取20人进行调查。
(1) 这种抽样方式是分层抽样、系统抽样还是整群抽样?
(2) 样本量是多少?
1.5下面是31个地区的名称及编号。
编号地区编号地区1北京市17湖北省2天津市18湖南省3河北省19广东省4山西省20广西壮族自治区5内蒙古自治区21海南省6辽宁省22重庆市7吉林省23四川省8黑龙江省24贵州省9上海市25云南省10江苏省26西藏自治区11浙江省27陕西省12安徽省28甘肃省13福建省29青海省14江西省30宁夏回族自治区15山东省31新疆维吾尔自治区16河南省
随机抽取6个地区作为样本。