已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
R语言 样品比较应用举例1997特别声明:R语言是公开免费程序语言,R语言代码都没任何质量保证;使用R语言所带来后果由使用者全权负责。目录第一章 R语言安装和运行21R语言程序安装22R语言程序运行3第二章 R语言功能运用51.进行单样品检验52.进行单样品检验2123.进行双样品检验164.进行配对测试185.进行多样品比较206.进行组合对比分析217.进行线性回归比较258.进行单样品总体检验309.进行双样品总体比较3710进行配对样品总体比较3911进行多样品总体比较4112进行多样品双层次总体比较45第一章 R语言安装和运行1R语言程序安装R语言是一种专门用于统计学数据分析的编程语言,是深受使用者喜欢的工具。 它组合了SAS和MATLAB所有功能,和PERL一样免费。因而统计工作者为提高工作效率没有理由不学会使用R语言。R语言是一种统计学应用程序。学会使用这种程序,首先要下载和安装R语言程序。这一过程相当简单,先用浏览器打开Google网页,键入R download, 第一个搜索结果就是R语言的下载页面。 然后,点击需要选定的网页进行程序下载和安装等。这种下载和安装与一般软件的下载和安装毫无区别,十分简便,按照相关提示进行即可,在此不做详细介绍。2R语言程序运行 在下载和安装完R语言程序后,如何书写R语言的脚本程序和运用R语言,成为使用者面临的迫切解决的问题。 书写R语言的脚本程序有三步: 1. 打开R文件编辑器; 2. 输入R语句;3. 将所需运行的语句选蓝,点击运行按钮。运用R语言步骤也比较简单。下面我们以33+44=77为例,介绍一下R语言的运用步骤。第一步,打开R语言程序,将鼠标指到“文件”下,此时将会出现一个下拉菜单,里面有“新建程序脚本”一栏,点击此栏,就打开了一个被称作“未命名”的R程序编辑器。具体操作如上图。第二步,在上面打开的编辑器中,我们在第一行键入x-33, 第二行键入y-44,第三行键入z-x+y,第四行键入z。如右图所示。其中,“-” 是“放进去”的意思,“x-33” 的意思是把33这个数值放入x变量中,“y-44”的意思是把44这个数值放入y变量中,“z-x+y”的意思是把x和y相加所得的和放入z变量中,单独键入“z”的意思是让R编辑器输出z的结果,即77。第三步,将键入电脑的四行命令全部用鼠标选蓝。如下面的截图所显示:选定这四行命令作为运行语句后,我们接下来点击方形的运行按钮,如图所示:此后,在背景中的R console窗口就会执行这些语句,很快会得到执行结果,即77. 下面的截图是R console窗口的样子和执行的结果:第二章 R语言功能运用R语言在统计学中运用非常广泛,可用来进行单样品检测数据分析、双样品检测数据分析、配对测试数据分析、多样品比较数据分析、组合对比数据分析、线性回归比较数据分析、单样品总体检验数据分析、双样品总体检验数据分析、配对样品总体比较数据分析、多样品总体比较数据分析、多样品双层次总体比较数据分析。R语言这12种功能组合了SAS和MATLAB所有功能,是一种功能非常强大的运用程序。我们在学习R语言时,需要熟练掌握这11种功能的运用。1.进行单样品检验 单样品检验是统计学在生活中最常见的运用之一。利用R语言进行单样品检验,不仅效率高效,数据精确,还让原本复杂的统计学运用变得简单明了。 下面以一个美国人买鸡蛋的事例演示R语言程序如何将统计学运用简单明了。有一个美国人叫约翰,是超市采购员。他每天都会开车去乡里收购新鲜鸡蛋,保证城里超市的鸡蛋供应正常。 在城里超市里,销售鸡蛋分大小:大的比较值钱,小的会卖得比较便宜。他们的标准是,重量在64g左右的鸡蛋被成为大的鸡蛋。 当约翰到达农场时,农场主告诉他,有一批型号比较大的鸡蛋出售。这对约翰来说,是一个好消息,大的鸡蛋更受消费者欢迎,但同时他面临着一项任务,即必须对这批鸡蛋进行单品检验。采购小的鸡蛋时,混入了大鸡蛋,对他有利,因而约翰采购小鸡蛋时从不检验,但采购大鸡蛋则不同,如果混入了接受程度之外的小鸡蛋,将会较大地影响超市的利润。 约翰采购的这批鸡蛋数量比较大,不可能一个一个地挑选,不可能一个一个地称。因为鸡蛋非常容易被打破,而且数量很多。如果他逐一小心地称量所有鸡蛋的重量,他可能永远无法完成这份工作。 为了保证鸡蛋的质量,同时又高效,约翰决定采取统计学知识,进行当样品检验。于是,约翰随机的在这一批鸡蛋中抽取了30个作为样本,来估计这批鸡蛋的平均重量。当然,他不是通过手工计算了完成这一工作,而是利用电脑,利用R语言程序来完成的。 约翰拿出笔记本电脑,打开R的编程界面。点击文件菜单,选择“新建脚本程序”选项。画面如图: 随后,电脑屏幕出现如下页面: 打开记事本软件,约翰将30个鸡蛋的重量一一输进去,然后把这个未令名的文件保存为一个文本文件(Text File),叫做egg.txt。此时,电脑的页面如图所示: 将30个鸡蛋的重量存储于egg.txt后,约翰开始R语言正式进行单样品检验。第一步是将这些数据读取到R语言的编程环境中。R语言读取数据文件的命令叫“scan”。从下面scan的用法当中我们可以看到所需的输入只是数据文件的所在文件夹的路径。有一点需要注意,不同级别的路径是由“/”分隔的。下面语句的意思是,把存在于文件夹中的egg.txt文件读入R系统,命名为egg。egg = scan(G:/R Writings/1 one sample t-test/egg.txt) #use /第二个语句可以生成一个叫做qqplot的图表。关键是看图表上的数据点分布是否趋于一条直线。如果这些数据点的分布趋于一条直线,这个数据就很有可能是正态分布的。qqnorm(egg) # output not shown这个语句是在上面的图表中画一条参考直线。qqline(egg) # output not shown这个语句是生成数据分布图表,基本上是用来画抽样数据的钟形曲线的。plot(density(egg) # output not shownShapiro是用来检验正态分布的。我们将在下面的叙述中介绍更多关于正态分布的细节。shapiro.test(egg)这个语句是 进行t.test的语句,具体讲是单样品t.test。因为约翰只抽取了一个样品,在这个样品中有30个数据,他要将这30个数据的平均值与农场主所说的64g的平均值作比较。t.test(egg, mu=64, alternative=two.sided)让我们把这所有的语句复制粘贴到R的编程系统当中。如下图所示:运行R语句,要先将要运行的语句选择,然后点击“运行”按钮。依次如下图:下面是第一、第二行语句的运行结果。由图可见,数据点基本上是直线型分布的,所以正态分布是比较可以接受。运行第三个语句,结果只是加了一条直线。运行第四句的结果是数据几率分布图。第五句是shapiro检验的结果。结果中显示,p-value = 0.4455,表明数据是正态分布的,可以接受。如下图所示:最后一句是单样品t.test的结果。这个检验结果说明两点:第一,样品的平均重量是63.629g,略小于64g的标准;第二,p-value=0.4901,因为p-value比较高,没有足够的证据来证明这整批鸡蛋重量的平均值与64g的标准不同。所以即使这样品的平均值略小于64g的标准,误差仍是可以接受的。 约翰利用R语言对鸡蛋进行单品检验后,最终得出结论,认定这批鸡蛋的误差在可接受范围内,产品是合格的,符合大号鸡蛋的标准。几点关于p-value的解释:1.有人说p-value数学模型成立的几率。在这个例子中,所用数据模型是正态分布,正态分布的区间是负无穷到正无穷。回到鸡蛋例子上来讲,就等于说在这个世界上存在着无穷重量的鸡蛋,但这是根本不可能出现的。所以,数学模型在现实中不能够成立。2.P-value只是一个证据,可以证明相同与不同。在这个例子中,p-value很高,所以没足够证据证明鸡蛋的平均重量与64g不同。因此我们接受鸡蛋重量是64g左右的结论。如果p-value非常低,比方说小于0.05,则存在一定证据证明鸡蛋的平均重量与64g不同。如果所测的平均重量真的小于64g,加上小于0.05的p-value,我们可以得出结论,这批鸡蛋的平均重量明显小于64g,而且有足够证据来证明。2.进行单样品检验2 与单样品检测类似的,R语言还可以进行当样品测试。下面以法式小面包为例,再次讲一下R语言是如何进行单样品检验。 法国一个叫路易斯的面包师制作了一种非常香甜的法式小面包。这种小面包非常受顾客欢迎。路易斯决定将面包做得大一点,卖得稍微贵一些。不过,顾客不接受这点。路易斯只好继续制作小面包,但手工制作小面包在重量上很不好把握,有时会大一些,有时候会小一些。做大了,按照小面包的价格卖,他没利润,做小了,又影响销售。路易斯困扰了一段时间,最终决定购买一部面包制作机器来帮助他解决这个问题。由机器来制作面包,面包大小都一致。这解决了法式小面包大小的问题。但路易斯却面临着机器调试问题。因为生产商设计了调试功能,生产面包的体积、重量和大小最终由机器使用者决定。路易斯将每个面包定在50g,因而在使用机器前,需要进行调试。于是,他把配方和材料放入机器,让机器生产出了第一批面包。随后,他随机挑选了30个面包,称量了各自的重量,并那些数据记录在一个叫bread.txt的文档中,存在电脑里。这个数据只有1列,30行,每行是一个面包的重量。具体如下图所示: 将这些数据做好后,路易斯决定R语言来进行单样品测试。他打开R语言的运行环境,将所需要R语句键入编程环境中。他输入的R语句如下: bread = scan(H:/R Writings/1 one sample t-test/bread.txt) #use /qqnorm(bread) # output not shownqqline(bread) # output not shownplot(density(bread) # output not shownshapiro.test(bread)t.test(bread, mu=50, alternative=two.sided)第一条语句是存储的数据文件读取入R语言环境当中,双引号中的内容为数据文件的文件路径。第二条语句是生成qqplot的图表。第三条语句是在qqplot上加一条直线作参考用。第四条语句是生成正态分布的钟形曲线。第五条语句是shapiro测试正态分布。最后一条是单样品t.test检测语句。要运行以上语句,需要用鼠标选蓝相应的语句,并且点击“运行”按钮。运行结果分别如下:图一:图二:图三: 图三是shapiro正态分布检测的结果。P-value为0.3671,p-value高于0.05,数据没有足够的证据来证明非正态分布。 接下来是图四:图四是单样品t.test检测的结果。这个结果不难看出,这30个面包样品的平均重量是55.49067g,相对于50g的标准来讲,相差很多。P-value的值是3.601e-11,几乎是0,绝对小于0.05。这些数据有足够证据说明面包的重量根本不是50g,这批面包不合格。路易斯进行这次单样品测试后,发现那些法式小面包不合格,便又进行了几次调试,做了几次单样品测试,最终成功地将单个法式小面包的重量定于50g。而他之所以成功达到预期目标,正是运用了R语言程序的结果。3.进行双样品检验 R语言的第三种功能就是进行双样品检验。这种功能的运用能使较为复杂的比较变得简单起来。张英杰是东风实验小学的校长。有一天,他同学何鸿雁来看望他。两人很长时间没见面,一起边吃饭边聊家常。聊着聊着,张校长聊到了东风实验小学里二年级两位语文老师争抢优秀教师头衔的事。两位老师都教得不错,有人说这个老师教得好,有人说那个老师教得好,从来就没有人能对这两个老师的水平做非常客观的比较。因此这次评优秀教师奖,两位老师争得不可开交,都志在必得。张英杰也左右为难,不知道该支持谁好,因为评任何一位老师,拿不出足以说服另一方的理由,都会导致矛盾。何鸿雁是学统计学专业的。听了这件事后,他向张英杰建议,直接对这两位老师所教授的学生的平均成绩进行比较,通过数据证明两位老师教学水平谁高谁低。何鸿雁又说,如果我们用一个班级的学生进行一种考试,再用另一个班的学生用同样的考卷进行考试。从这两个班学生的成绩中,我们可以计算这两个班的平均成绩。从数学意义上来讲,这两个平均成绩只可能是相等或者是不相等。但统计学更多的考虑到这两个平均成绩是否相似。如果这两个平均成绩的差距比较小,则比较相似。如果平均成绩之间的差距比较大,则不相似。这样通过运用统计学知识,两个老师的教学水平就比较出来了。 张英杰觉得有道理,便让两位老师所带的A班和B班学生进行了一次相同试卷的语文考试,并将每个学生的分数记录下来,交给何鸿雁作分析。何鸿雁使用了R语音对A班和B班学生的分数做了数据分析。 打开R语音程序后,何鸿雁直接把数据写入R语言程序中没有存储为任何文本数据文件。我们可以看到,语句中a指A班学生的成绩,有38人,所有成绩都用逗号分隔开。b指B班学生的成绩,有35人,所有成绩由逗号分隔。数据输入完毕,鼠标选择a和b语句成蓝色,点击R语言的运行按钮,数据就被读入编程环境中了。 何鸿雁输入R语言程序中的数据如下:a = c(87,86,91,92,91, 93,91,91,90,90,89,90,91,91,90,91,94,89,88,89,89,91,89,89,90,90,86,88,93,88,94,91,93,88,87,89,92,91)b = c(98,93,93,93,95,95,94,97,93,94,96,95,97,96,97,97,95,95,96,97,95,96,96,94,95,94,96,98,93,95,98,97,93,96,94)随后的一个语句是进行相似方差测试。因为两个班级的成绩都可以用来计算方差,A班可以有A班的方差,B班有B班的方差。进行双样品检验的前提是,这两个班的方差一定要足够相似。如果这两个班的方差不相似,我们就需要用其他的比较方法来代替双样品检验。何鸿雁输入的语句为:var.test(a,b)对方差相似性进行检验。随后,电脑显示图为: 从方差相似性的检验中,我们可以看到p-value是0.1442,即p-value大于0.05,数据中没足够证据证明方差不相似。两个班的方差是相似的,所以var.equal使用的是True输入。最后的输入叫做paired,而在这里paired输入是False。何鸿雁便输入的语句:t.test(a,b, var.equal=TRUE, paired=FALSE)比较两个班的平均分数。随后,电脑显示如下: 经过R语言进行双样品检验,结果是a班平均成绩为90.05263,b班平均成绩是95.31429。p-value小于2.2e-16,也就是接近于0,一定是0.05的。这足够说明两个班的成绩显著的不相似。两位语文老师教学水平的高低立即显现出来,即b班的成绩高于a班的成绩。张英杰根据统计分析的数据,给两位争评优秀教师的语文老师做了评判,让他们都对最终评判的结果心服口服。R语言的运用成功地给他解决了一个难题。4.进行配对测试自从上次何鸿雁帮助张英杰校长解决了优秀教师之争,张校长对统计学产生了兴趣。因而在工作中遇到了难题时,他便会想到用统计学来分析。有一位一年级数学老师称,他有一套简单易学的口算诀,如果一年级学生学会了这种口算诀,口算成绩能短暂时期显著提高。张校长决定测试一下那位老师所说口算诀是否如所说那样有效,便将这件事告诉了何鸿雁。何鸿雁回答说,这可以利用统计学的R语言程序进行配对测试。在学习那种口算诀前,学生自身会具有一定速算能力。在学习那种口算诀后,学生的口算能力有可能提高,也有可能下降,也可能没变化。我们可以用学生学习口算诀前的成绩减去学习后的成绩。如果所得到的差为负值,则说明学习口算诀前的成绩低于学习后的成绩,即该学生因学习口算诀提高了速算水平。相反,如果差为正值,则说明该学生速算水平降低了。而如果差为0,则说明该学生速算水平原地踏步走。然后,通过p-value为成绩变化的显著性提供证据。如果p-value小于0.05,就存在着显著的成绩变化。如果p-value大于0.05,则成绩变化不明显。张英杰觉得有道理,回校随机组织了30个一年级学生进行了测验。第一天,他对30个学生加法口算速度进行了测验。50道加减法题目,用五分钟时间来完成,回答正确的题数作为学生的口算成绩。他将学生的速算成绩记录在案。第二天,他请那位数学老师给这30个学生教口算诀。等学生学完口算诀后,张英杰又用同样难度的50道算术题对那30个学生进行了口算的测试,同样将学生答对的题数作为口算成绩。 张英杰向何鸿雁学会了运用R语言后,就亲自将所记录的两组数据通过R语言程序,进行一下配对测试。 张英杰在R语言程序中输入了如下语句:a = c(43,43,42,41,45,43,43,44,42,41,44,46,43,45,47,45,43,42,42,45,45,40,46,45,39,41,42,43,43,43)b = c(43,43,42,42,46,43,43,44,42,41,44,47,43,46,47,44,44,43,42,45,45,41,47,45,39,42,42,44,43,44)与双样品检验相似,a成绩指30个学生学习口算诀前的口算成绩,b成绩指30个学生学习口算诀后的口算成绩。学生之前和之后成绩存在一一对应关系,所以学生在两列成绩中的顺序是不可以打乱的。随后,张英杰进行了配对测试,输入了以下语句:t.test(a,b, paired=TRUE)与双样品测试一样,都是使用t.test()语句。paired=TRUE是因为这是个配对测试。R语言程序运行后,电脑显示如图所示:R语言配对测试的结果出来了,成绩变化的平均值是负0.3333333。这一结果说明,在学习口算诀后,每个学生都可以有一个三分之一道题的提高。然后看p-value。分析得出的P-value值是0.002316,小于0.05,证明这三分之一道题的提高是显著的,不是随机产生的。整个配对测试的结果说明,那位数学老师所倡导的口算诀是有效果的,是值得推广的。5.进行多样品比较自从张校长对于两位老师的教学能力进行科学比较后,他决定运用R语言对全校老师进行类似的比较,测评他们的教学水平。这样来,就不能够使用双样品来进行检验。因为每一个老师都负责一个班级,每个班级是一个样品,如果有多于两个老师的话,就要在多于两个样品之间进行比较。当然样品的数量可以是随机的,例如三个班级三个样品,四个班级四个样品。对多样品进行比较,统计学中叫做多样品比较,英文称作anova。如果多样品比较的结果小于0.05,则证明这些样品显著不相似。反而言之,比较的结果大于0.05,则证明这些样品相似,近乎没区别。当然,R语言程序中多样品比较功能主要目的不是用来测评各位老师的教学水平,而是用在采购比较复杂产品时,对产品进行科学分析和比较上。某企业要采购进一批导热性好的材料。结果,有三家供应商向他们推荐导热材料,三家产品从外观和价格方面都相似,难以让人做出决策。为了确保采购导热性最好的材料,主管领导将检测材料的任务交给了一个工程师。工程师是材料鉴别和比较方面的行家。他接到任务,便将三种材料依次命名为a,b和c,然后通过实验进行检测,最后通过R语言程序,对检测的结果进行分析。他将三种铁合金抽拉成为长度为1m,宽度为1cm的铁条。三种铁条具有相同的尺寸,外观看起来一模一样。然后,他把铁条的一端放入加热器当中加热,另一端安置了温度测量仪器测量铁条的温度。随后,他细心观察,记录下铁条没加热一端的温度升到100摄氏度所需时间。其中,a种材料,他实验了6次,b种材料,他实验了7次,c种材料,他实验了4次,并记下了每次的数据,将数据保存于data.txt文本文件中。电脑显示如图所示:上图中有两列数据,第一列首字母为t,即铁拼音的首字母;第二列首字母为m,即秒拼音的首字母。三种材料依次按照a、b、c排列,而各种材料各次实验所需时间不尽相等,按照相应实验的顺序排列。工程师输入数据分析使用的语句:data=read.table(H:/R Writings/4 one way anova/data.txt,header=T)这条语句是将存储于文件夹当中的数据读入编程系统。双引号中是数据存储路径(斜杠一定要用反斜杠)。Header的输入是T,因为在数据的第一行有m和t的表头,需要提示R语言进行不同输入。接下来输入的语句是:aov = aov(mt,data=data) #do the analysis of variance 这条语句是多样品检验的执行语句,使用的数据是data数据。在data数据中,材料种类由t列来定义,而我们需要比较时间,所以用mt来进行。 进一步输入命令: summary(aov) #show the summary table 随后电脑显示如下图: summary语句是输出多样品检验的结果。在这里可以看到关键的p-value。p-value是0.002998,也就是说,小于0.05,数据存在着足够的证据证明这三种铁条的导热平均时间不相似。 接下来的一步,工程师又输入了以下语句:print(model.tables(aov,means),digits=3) #report the means and the number of subjects/cell 电脑显示如下图: print语句输出的是三种样品导热时间的平均值。print语句输出的结果,a材料测试6次,平均时间为33.2秒;b材料测试了7次,平均时间为27.1秒;c材料测试了4次,平均时间为18.8秒。这三种材料经过多样品比较,不难看出c材料的导热时间最短,导热性最佳。工程师将多样品比较的结果告诉主管领导后,主管领导最终下决心采购c材料。6.进行组合对比分析 R语言还可以用来进行更为复杂的组合对比分析。具体操作还是以张英杰学校的事为例。张校长用统计学方法证明了那位数学老师的教学方法有效后,另外一位数学老师提出了另外一种速算法,而且提出来要与前一个老师的速算法进行比较。这次比较更复杂更全面。他们将学生练习时间分为早上、中午和下午。第一位老师的方法叫方法a;第二个老师的方法叫方法b。早上练习时间用x来代替,中午练习时间用y来代替,下午练习时间用z来代替。这样,他们速算法比较就有六种:使用方法a在早上练习(ax),使用方法a在中午练习(ay),使用方法a在下午练习(az),以及使用方法b在早上练习(bx),使用方法b在中午练习(by),使用方法b在下午练习(bz)。他们随机抽取了60个学生。因为有6种学习经历,每一种学习经历中,随机分配了10个学生来体验。一周以后,这60个学生使用5分钟50道加减法题目进行了成绩评估。这些学生的成绩按照实验分组记录如下:fangfashijianchengjizuax35axax33axax37axax33axax33axax48axax47axax27axax33axax37axay45ayay33ayay30ayay30ayay35ayay25ayay34ayay32ayay22ayay29ayaz25azaz30azaz29azaz33azaz29azaz26azaz20azaz30azaz36azaz28azbx41bxbx46bxbx50bxbx34bxbx36bxbx43bxbx43bxbx48bxbx42bxbx35bxby31byby38byby36byby30byby35byby31byby30byby40byby35byby39bybz27bzbz27bzbz24bzbz21bzbz26bzbz24bzbz32bzbz30bzbz27bzbz22bz在上面数据中,第一列代表的是方法,第二列代表的是三种练习时间,第三列是学生测试中答对的题数,第四列是六个分组。张英杰将这些数据存储到叫zuhe.txt的文件中。然后运用R语言,逐一输入代码,进行组合对比分析。zuhe - read.table(H:/R Writings/5 two way anova/zuhe.txt,header=T)这语句指将成绩数据文件读入编程环境,称其为zuhe。anova(lm(chengji fangfa * shijian,zuhe)这一语句使用anova分析方法和练习时间对成绩的影响。使用这两种语句后,电脑里有如下显示:从电脑显示图中,我们不难看到有三种p-value。第一个p-value值为0.14120,对应教学方法的效果。这个p-value大于0.05,数据中没足够证据来证明两种教学方法对成绩的影响不同。结论是这两种教学方法的结果相似。第二个p-value值为9.398e-09,几乎为零,就是说小于0.05,相对应练习时间,说明数据中存在足够证据来证明不同时间对成绩的影响不同。第三个p-value值为0.04422,相对应方法和练习时间的相互作用。因为这个p-value小于0.05,数据中存在证据证明教学方法和练习时间的相互作用对成绩的影响显著。两种教学方法,三种练习时间,一共是六种组合。不同的教学方法与不同的练习时间组合,就会产生不同结果。因而张英杰必须对这六种组合进行对比分析。他相继输入了三个语句:aov = aov(chengjizu,data=zuhe) summary(aov) print(model.tables(aov,means),digits=3)R语言程序分析的结果显示如下图:在上面图示里,p-value对应组合。P-value值为5.096e-08,p-value小于0.05,说明数据中存在足够证据来证明不同组合产生不同的成绩结果。在分析结果最后两行,我们看到了这六种组合极其相应的平均成绩。方法b与早晨练习组合,也就是bx组合,产生了最佳口算平均成绩41.8。然而,方法b与下午练习组合,也就是bz,产生了最低口算平均成绩26.0。结论是使用方法b在早晨进行练习取得的学习效果最佳。 张英杰借助R语言程序进行组合对比分析后,决定采取方法b,因为方法b在早上和中午的学习效果均超过方法a在早上和中午的学习效果。7.进行线性回归比较一部电影由成千上万张独立胶片组成,每张胶片代表着一个静止的图像。如果胶片被连续播放,每秒播放24张以上,观众看到图像就不是静止的,而是连续的。为什么会这样呢?视觉残留。即静止图像在视觉中有残留现象,所有视觉残留组成了一种连续的画面。有人提出,用视觉残留来影响人的潜意识。他们在一部电影中插入许多潜在图像,试图用这些潜在图像所代表的信息来控制观众的行为。为了验证这种操控潜意识理论,研究人员设计了一种实验来研究电影院里的心理学。他们选择了一部电影,在这部电影中每隔47张胶片,将原本第48个图像删除,然后插入一张爆米花图像。也就是说,每两秒钟在观众眼前播放一次爆米花图像。因为整个电影的长度没被增加或缩短,而且胶片播放速度非常快,观众意识不到所播放爆米花图像。但观众意识不到并不等于它对观众不产生影响,每张爆米花图片都残留在观众潜意识里。一部大约一个半小时长的电影,在看完这部电影的观众成千上万次爆米花印象。研究者想通过这种方法来分析爆米花图像的播放,是否会影响到电影院中爆米花的销售量。如果这种电影产生了影响,我们就会预期到爆米花销售的增加。如果这样的电影没有影响,爆米花的销售量会基本不变。 当然,要进行比较就需要在没插入爆米花的电影和插入了爆米花的电影之间进行比较。于是,研究人员选择了两家独立电影院,第家电影院播放被插入了爆米花图像的电影,持续两周时间,记录14天影院中爆米花的销售量,单位是元。另外一家电影院播放了两周没插入爆米花图像的电影,同样记录影院中爆米花的销量。问题是,两家电影院爆米花的销售量不可能进行直接比较。原因在于,第二家影院的观众流量总要多于第一家影院。观众多的话,爆米花的销售量就会增加。也就是说,必须要将两家影院观众人数放到相同位置上,才能够比较他们爆米花的销售量。这种比较分析技巧,是对两个线性回归的比较。在统计学中,被称作ancova。接下来,我们介绍具体数据结构。从上图中,我们不难看出,文件名叫popcorn.txt,用记事本就可以编辑。数据有三列,第一列表示电影院,a代表第一家电影院,b代表第二家电影院。数据有28行,一星期7天,一共播放了两周,所以a有14天数据,b同样也有14天数据。第二列表示电影院每天的观众人数。稍加观察,我们不难发现,b的观众流量总体高于a;a和b两家电影院里,星期五到星期日的观众人数要高于其他三天。第三列代表着爆米花在每天的销量。将各种数据搞清楚后,接下来是运用R语言程序一步步进行分析比较。我们先输入将popcorn数据读入编程环境中的代码:popcorn-read.table(G:R Writings6 ancovapopcorn.txt)在双引号中,必须要输入数据所在路径,路径的分隔符,也就是前斜杠,在这里用双前斜杠来代替。这句代码的结果生成了popcorn数据结构。随后,我们将输入代码:names(popcorn)-c(site,visit,sales); popcorn这句代码包含所给数据三列的命名。第一列数据称作site,代表两家电影院。第二列数据称作visit,指观众人数。第三列数据称作sales,指是销售量。接下来,我们又输入,把数据三列的名称加在数据上:attach(popcorn)其后,我们再输入:coplot(salesvisit|site)。结果,电脑出现了如图所示:从视觉上来比较这两家电影院的popcorn销量,b的销量要高于影院a的销量。截图下半部分是一个坐标图表,横向坐标的数轴代表电影院观众的数量,纵向坐标的数轴代表爆米花的销量。左侧坐标图表显示a十四天观众流量与爆米花销量间的关系。不难看出,爆米花销量随着观众的增加而增加。右侧坐标图表代表了b观众数量与爆米花销量的关系。同样在b中,爆米花的销量也随着观众流量的增加而增加。总体来讲,b的销量要高于a的。再进一步输入以下代码:plot(salesvisit,pch=as.numeric(site),获得了如下图所示的结果。上面截图是将之前的两张坐标图表合二为一。将两张表合二为一后,我们再进一步输入代码,对其进行比较分析。model1-lm(sales site+ visit + site:visit)model2-lm(sales site+ visit)summary(model1)summary(model2)结果,R语言进行一番运算后,显示了如下结果:在上图中,R语言同时应用了两个不同的数学模型,即model1和model2。Summary(model1)给出了model1的分析结果:siteb:visit 0.4225 0.6712 0.629 0.53500,互相作用的p-value是0.53500,p-value大于0.05,数据没证据来证明影院和观众人数的互相作用存在。也就是说,在接下来的model2中,可不考虑这种互相作用因素。model2,是ancova数学模型。这个分析只考虑两个变量,即影院和观众人数对爆米花销量的影响。从model2的分析结果看,关于电影院因素的p-value是0.671,大于0.05,数据不存在任何证据证明两家影院爆米花销售的数量有所不同。所以我们可以得出结论,即便是在这家所影院播放两种不同电影,这两部电影对影院中爆米花的销售量不产生显著的影响。8.进行单样品总体检验 前面我们讲过运用R语言单样品检测的运用。运用R语言进行单样品检测只需要考虑一个变量,但在更多情况下,样品中会有一系列变量需要被测量,需要被考虑。需要考虑某种产品多个变量的检测,在统计学里称为单样品的总体检验。从总体上看待多个变量。 R语言单样品的总体检验功能有什么实际用途呢?实际用途很广泛,譬如统计分析池塘的鱼苗就是一例。在一个鱼塘里,饲养一批鱼苗。科学养殖方法要求,饲养者必须要严格监控鱼苗的生长发育状况。有人会认为,这很简单,用鱼苗的体重来衡量鱼苗的生长发育状况不就解决了。他们提出,从鱼苗中抽取些样品,测量它们的体重,然后用平均体重与参考值进行比较,就可知道鱼苗是否达准。但问题是,鱼苗进食与否对它的体重影响很大。鱼苗进食后,体重明显比没进食时重,这并不能说明进食了的鱼苗比没进食的鱼苗生长发育好。因此对鱼苗的生长发育最科学的监控,不是对鱼苗的体重进行监控,而是对鱼苗的长度、背鳍的长度、尾鳍的宽度、左鱼鳍的长度和右鱼鳍的长度五个方面进行测量和监控。这种监控方法就是提取随机抽取的样品鱼苗五个方面的信息数据,然后通过R语言运行,最终根据结论判断。下面的截图是收集的样品鱼苗的五个方面的资料:在上面的图表中,每行的数据代表一条随机抽取的鱼苗,数据有五列,分代表身长、鳍长、尾宽、左鳍长和右鳍长。每一行是对一个鱼苗测量的记录,每一行的数据被称作一个向量,这组数据共有24个向量。数据有五列,每列代表一个被测量的指标,也就是一个变量。每个变量在数学中被称为维度,这组数据中存在5个维度。在统计学中,我们使用每行都是对一个对象的记录,即一个向量;每列是对一个变量的记录,即一个维度。进行单样品比较需要有参考值,对于鱼苗的测量,我们的参考值如下: 身长7.2cm鳍长3.5cm尾宽1.3cm左鳍长0.8cm右鳍长0.8cm 第一步的分析使用单样品检测方法,对每个测量的变量进行逐个检测。先将鱼苗样品身长的平均值直接与7.2cm这个参考值进行比较。检测结果如下: 从上图中,我们可以看到,随机抽样的鱼苗的身长平均值是7.151667cm,低于参考值7.2cm。p-value是0.8345,也大于0.05,数据没足够证据来证明身长的平均值和参考值不一样。我们可以认定身长的平均值与参考值非常相似。 然后,将鱼苗样品鳍长的平均值直接与3.5cm这个参考值进行比较。检测结果如下所示:从上图中,我们可以看到,随机抽样的鱼苗的背鳍长平均值为3.46125cm,低于参考值,但p-value是0.7356,p-value大于0.05,所以数据没足够证据来证明背鳍平均长度与参考值不相似。我们可以认定,背鳍的平均长度与参考值相似。接下来,将鱼苗样品尾宽的平均值直接与1.3cm这个参考值进行比较。检测结果如下所示:从上图中,我们可以看到,随机抽样的鱼苗的尾宽的平均值为1.258333cm,低于参考值,但p-value的数值为0.2518,p-value大于0.05,数据没足够证据证明尾鳍平均宽度与参考值不相似。我们可以认定,尾鳍的平均宽度与参考值相似。接着要做的,将鱼苗样品左鳍长的平均值直接与0.8cm这个参考值进行比较。检测结果如下所示: 从上图中,我们可以看到,随机抽样的鱼苗的左鳍长的平均值为0.6925cm,低于参考值,但p-value的数值为0.7294,数据没足够证据证明左鳍的平均长度与参考值不相似。我们可以认定,左鳍的平均长度与参考值相似。 将鱼苗样品右鳍长的平均值直接与0.8cm这个参考值进行比较。检测结果如下所示: 从上图中,我们可以看到,随机抽样的鱼苗的右鳍长的平均值为0.6825cm,低于参考值,但p-value数值为0.3898,数据没足够证据证明右鳍的平均长度与参考值不相似。我们可以认定,右鳍的平均长度与参考值相似。在上面一系列单变量检测中,我们没找到证据证明对鱼苗的测量与参考值不相同。在下面统计分析中,我们将所有测量的变量归纳成为一个总体指标,然后进行对参考值比较。做到这点,需要有一种叫做ICSNP的R文件包来支持。我们将先介绍如何安装这个文件包。第一步,在打开R语言页面的情况下,在“程序包”菜单中点击“安装程序包”。电脑显示页面如图所示:第二步,选择程序包所在的数据库,这里作为例子,使用USA(MD)进行加载。第三步,选取我们所需要的ICSNP程序包,点击确定。电脑页面显示如下所示:程序包便开始安装了。在使用程序包前,必须将其加载入编程环境之中。在“程序包”的菜单当中,点击“加载程序包”。电脑显示页面如下所示:在这里选择所需要加载的程序包。加载了ICSNP程序包后,运行HotellingsT2命令。fish指24条鱼苗的测量结果。Y = NULL指单样品检验,mu后面所跟是五个测量项目的参考值。Test=”f”在这里是要求用F比值进行分析。电脑页面显示如下:分析结果显示p-value值为1.657e-06,几乎为零,小于0.05。所以说,将五种测量指标归纳为一个总指标,然后进行分析,数据有足够证据来证明抽样的鱼苗测量结果与参考值不相似。在前面我们已看到,五种测量的平均值全部小于参考值。最后结论是,鱼苗的生长状况没达到所需要标准,而且我们有足够证据来证明此结论。9.进行双样品总体比较对一个样品,我们不仅需要对其进行单一指标衡量,有时还需要对其进行多个指标衡量。对于这样多指标的样品进行比较,我们必须将这些单独指标综合成为一个单一指标,然后进行比较。这个综合指标是所有单一指标的总和,这样的比较叫做总体比较。 如前面所列例子所示,对鱼苗衡量的指标有五个,鱼苗的身长、背鳍长度、鱼尾宽度、左鳍长度和右鳍长度。这五个指标可以从总体上与参考值进行检测。这是单样品总体比较。但如果有两个鱼塘的鱼苗参与比较呢?则需要进行双样品总体比较。 在进行这种双样品总体比较时,第一塘鱼苗的数据就使用前一例中所测量数据;第二塘鱼苗,我们同样随机抽取了24条鱼苗,然后测量它们的五项生长发育指标。将第一个数据保存为fish.txt,第二个数据保存为fish2.txt,然后通过R语言程序进行分析比较,看两塘鱼苗的生长发育状况是否相同。进行双样品总体比较,我们仍将使用ICSNP的r程序包。在运行程序之前,需要加载这个程序包。点击程序包下拉菜单,选择“加载程序包”,可以看到以下的窗口,选择ICSNP进行加载。然后运行以下代码对数据进行加载和分析。fish1 - read.table(H:/R Writings/7 one sample t square/fish.txt,header=F)fish2 - read.table(H:R Writings8 independent 2 sample t squarefish2.txt,header=F)第一句代码用fish.txt的路径将其读入r语言环境中,生成了一个叫做fish1的数据项目。第二句代码使用fish2.txt的路径将其读入R语言环境中,生成了叫做fish2的数据项目。路径的分隔符可是反斜杠,也可是两个正斜杠,两种用法相同。接下来,我们将两个数据项目进行总体比较。因为已加载了ICSNP程序包,我们可使用HotllingsT2命令。在这个命令中,需要输入fish1和fish2数据项目。具体操作如下:#needs to load ICSNP package.HotellingsT2(fish1, fish2, test = f)完成这一操作后,电脑页面将会呈现如下图显示:从最终进行比较得出的结果看,p-value是0.9661,也就是说p-value大于0.05,这两个数据项目不存在任何证据证明这两塘鱼苗的总体发育指标不同。也就是说,这两塘鱼苗的总体发育相似。10进行配对样品总体比较在超市里,有一家卖盒饭的小店。有一天,老板打出一张广告牌,上面写着“本店出售的盒饭可以增加人的骨密度”。这是老板的一种销售手段,目的是想通过这样的广告词来提高盒饭销量。很多人质疑他广告词的真实性。很明显,吃盒饭不太可能影响人的骨密度。但是不相信这句广告词
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024融资租赁合同书之公寓租赁合同
- 2024年度监理工程师职责履行合同
- 2024年中介参与下的二手房买卖定金合同
- 2024年度软件开发与维护技术服务合同
- 2024年建筑工地瓦工承包合同
- 商品房购房合同协议书
- 技术合同 技术许可合同样本
- 2024某大学人文社科科研项目合同书
- 2024借名购房合同协议范本
- 2024年离婚协议书格式要求
- 凸函数的性质及其应用
- 标记有丝分裂百分率法计算
- HCGE2P孕三项化验单模板
- 弯矩二次分配法计算器
- 金属材料名称常用基础术语
- QA软件过程检查单(XXJSTZPPQAChecklist)
- BA88半自动生化分析仪维修手册
- 各系统调试报告
- 英语人称代词-物主代词-名词所有格(共4页)
- 《质量管理体系文件》ISO9001_2015_中英文对照
- 漂流项目规划设计书
评论
0/150
提交评论