R语言学习总结

上传人:雨水 文档编号:148813297 上传时间:2020-10-22 格式:PDF 页数:9 大小:95.21KB
返回 下载 相关 举报
R语言学习总结_第1页
第1页 / 共9页
R语言学习总结_第2页
第2页 / 共9页
R语言学习总结_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《R语言学习总结》由会员分享,可在线阅读,更多相关《R语言学习总结(9页珍藏版)》请在金锄头文库上搜索。

1、R 语言学习总结 经过接近一个学期的学习,从对R 语言的完全陌生,到现在对其有了一些粗浅的认识, 其中经历了遇到困难苦思冥想的艰辛,也有解决问题以后豁然开朗的畅快。在学习的过程 中,以前掌握的数理基础给我带来了不少便利,而认真地态度和踏实的性格也使我获益匪 浅。 在这个学期中,我学会了R 语言的基本操作和语法,以及针对具体的统计学问题相应 的解决方法。并按时完成老师布置的课后作业,以达到学以致用的目的,也加强了对R 语 言操作的熟练度。 一、初识R 软件 R 软件是一套完整的数据处理、计算和制图软件系统。其功能包括:据存储和处理,数 组运算,完整连贯的统计分析工具,优秀的统计制图功能已及简便而

2、强大编程语言。 接触 R 语言以后,我的第一感觉就是方便和强大。R 语言中有非常多的函数和包,我 们几乎不用自己去编一些复杂的算法,而往往只需要短短几行代码就能解决很复杂的问题, 这给我们的使用带来了极大地方便;于此同时,它又可操纵数据的输入输出,实习分支、 循环,使用者可以自定义功能,这就意味着当找不到合适的函数或包来解决所遇的问题时, 我们又可以自己编程去实现各种具体功能,这也正是R 语言的强大之处。 二、学习心得 在学习该书的过程中,我不仅加深了对统计学方法的理解,同时也掌握了R 软件的编 程方法和基本技巧,了解了各种函数的意义和用法,并能把两者结合起来,解决实际中的 统计问题。 1、R

3、 语言的基本语法及技巧 R 语言不仅可以进行基础的数字、字符以及向量的运算,内置了许多与向量 运算有关的函数。而且还提供了十分灵活的访问向量元素和子集的功能。R 语言中经常 出现数组,它可以看作是定义了维数(dim属性)的向量。因此数组同样可以进行各种运 算,以及访问数组元素和子集。二维数组(矩阵)是比较重要和特殊的一类数组,R 可以 对矩阵进行内积、外积、乘法、求解、奇异值分解及最小二乘拟合等运算,以及进行矩阵 的 合并 、拉 直等。apply()函 数可 以在 对矩阵的一 维或 若干 维进行某种计算, 例 如 apply(A,1,mean)表示对 A 按行求和。 R 语言允许将不同类型的元

4、素放在一个集合中,这个集合叫做一个列表,列表元素总可 以用 “ 列表名 下标 ” 的格式引用。而“ 列表名 下标 ” 表示的是一个子列表,这是一个很容 易混淆的地方。R 语言中非常重要的一种数据结构是data.frame(数据框),它通常是矩 阵形式的数据,但每列可以是不同类型,数据框每列是一个变量,每行是一个观测,要注 意的是每一列必须有相同的长度。数据框元素可以使用下标或者下标向量引用。 用一个非常简单的例子来说明向量、矩阵和数据框的简单运用。 输入: A-matrix(c(1:12),2,6,byrow=T) #A为 一 个 2 行 6 列 , 按 行 排 列 的 矩 阵 X-as.da

5、ta.frame(A) #把 A 转化成数据框形式的X X1:2,seq(1,5,2) #输出 X 的第 1、2行和 1、 3、5列 结果为: V1 V3 V5 1 1 3 5 2 7 9 11 输入: attach(X);R-V1/V5;R #调用数据框X,计算并输出V1 和 V5 的比值结果为: 1 0.2000000 0.6363636 与此同时R 语言中也提供了其它高级程序语言共有的分支、循环等程序控制结构。比 如 if/else语句,for 循环等。因此 R 语言也可以很容易的根据情况编写自己所需要的函数。 以习题 2.7 为例:编写一个R 程序,输入一个整数n,如果 n 小于等于

6、0,中止运算, 并输出: “ 要求输入一个正整数” ;否则,如果 n 是偶数, 则将 n 除2赋值给 n;否则将 3n+1 赋给 n。不断循环,直到n=1 停止,并输出:“ 运算成功 ” 解:新建一个程序脚本,名为chapter2.R” ,写入代码: f-function(n) if(n=0) list(要求输入一个正整数) elserepeat if(n=1) break #n=1 时终止else if(n/2=as.integer(n/2) n-n/2 #n 为偶数 时除 2 else n-3*n+1 list(运算成功 ) 在 R 窗口中输入: Source(“ chapter2.R”

7、);f(32) 输出: 1 运算成功 输入: f(-5) 输出: 1 要求输入一个正整数 2、R 在统计描述中的应用 使用 R 软件可以方便直观的对数据进行描述性分析。如使用均值、中位数、顺序统计 量等度量位置;用方差、标准差、变异系数等度量分散程度;以及用峰度系数、偏度系数 度量分布形状。例如在窗口中输入: x-seq(1,589,3) length(x);mean(x);var(x);sd(x);median(x);100*sd(x)/mean(x) 1 197 #长度 1 295 #均值 1 29254.5 #方差 1 171.0395 #标准差 1 295 #中位数 1 57.9794

8、8 #样本标准差 n-length(x);m-mean(x);s-sd(x) n/(n-1)*(n-2)*sum(x-m)3)/s3;(n*(n+1)/(n-1)*(n-2)*(n-3)*sum(x- m)4)/s4- (3*(n-1)2)/(n-2)*(n-3) 1 0 #偏度系数 1 -1.2 #峰度系数 R 软件可以检验样本是不是来自某种分布总体,以正态分布为例,我们可以通过 shapiro.test()函数提供W 统计量和相应的p 值,并通过 p 值的大小判断样本是否来自正 态分布的总体。经验分布的K-S 检验方法的应用范围则更加广泛,不仅可以判断样本是否 来自正态总体,也能判断是否来

9、自其它类型的分布总体。 以习题 3.3 为例:分别用 W 检验方法和Kolmogorov-Smirnov检验方法检验习题3.1 的数据是否服从正态分布; 首 先 将 一 百 个 数 据 存 入 ” data.txt”中 ( 此 文 件 要 放 在 工 作 空 间 目 录 中 ) x-read.table(“ data.txt” );shaoiro.test(x) Shapiro-Wilk normality test data: x W = 0.9901, p-value = 0.6708 可见该样本来自正态总体 ks.test(x,pnorm,mean(x),sd(x) One-sample

10、 Kolmogorov-Smirnov test data: x D = 0.073, p-value = 0.6611 alternative hypothesis: two-sided 结果与 W 检验相同 除此之外, R 语言还有强大的画图功能,例如我们可以通过作直方图、茎叶图和总体分 析来描述数据的分布。R 中的高水平作图函数有:plot()、pairs()、coplot()、qqnorm()、 hist() 等等。当高水平作图函数并不能完全达到作图的指标时,需要低水平的作图函数予以 补充。低水平作图函数有:points()、lines()、 text()、 polygon()、 le

11、gend()、title() 和 axis() 等。需要注意的是低水平作图函数必须是在高水平作图函数所绘图形的基础之上 增加新的图形。 hist() 函数可以做出已知数据的直方图,stem() 函数可以作茎叶图,boxplot()函数可 用作箱线图,qqline()和 qqmorm()可以做出正态QQ 图和相应的直线。R 语言同时还能 对两组数据进行相关性检验,cor.test()函数提供了Pearson相关性 检验, Spearman秩检验和Kendall秩检验。其原假设为两组数据不相关,通过p 值 的大小来判断是否拒绝原假设。我们还能用stars() 函数作出星图,来表示多元数据,以上 用

12、法都非常简单易用,这里就不再赘述。 3、R 语言在统计推断中的应用 首先, R 语言可以用来进行参数估计; 统计学中我们应用矩估计和极大似然估计来进行点估计,矩估计是通过解正规方程组得 到参数估计的值;极大似然估计通过解极大似然函数的极值点得到参数估计的值。在R 中 我们可以使用Newton迭代法求解正规方程组,获得矩估计; 用 optimize()函数求解极大 似然函数,获得最大似然估计;由此可见,R 语言能够很方便的解决参数点估计问题。 点估计给出未知参数的近似值以后,并不能知道这种估计的精确性如何,可信程度如何, 为了解决这些问题,就需要用到区间估计,在学习用R 语言解决区间估计问题的过

13、程中, 我最大的体会就是R 软件中内置的一些函数极大地方便了我们处理具体问题。比如 t.test() 函数。对单个正态总体,向量x 包含了来自该总体的一个样本,我们可以直接用t.test(x) 指令得到均值u 的点估计和区间估计;对于两个正态总体,向量y 包含了来自第二个总体 的一个样本,我们可以用t.test(x,y)来得到均值差u1-u2的点估计和区间估计,其中当两 个总体方差相同时,只需要加上var.equal=T(缺省值为F,即默认两个总体的方差是不 同的) ;同时t.test()函数不仅可以进行双侧置信区间估计,也能进行单侧置信区间估计, 只需要在括号内加上al= ” l” 或者 a

14、l= ” g ” 。当数据不服从正态分布是,可以利用中心极限定 理,取较大的样本量,构造近似服从正态分布的统计量进行估计。 其次, R 语言可以用来进行假设检验。 假设检验也是统计推断中的一个重要的内容,在统计学中, 我们用搜索到的数据对某个 事先作出的统计假设按照某种设计好的方法进行检验,来判断此假设是否正确。也就是说 为了检验一个假设是否成立,先假定它是成立的,看看由此会导致什么结果。如果导致一 个不合理的现象出现,就认为原假设不正确,如果没有导出不合理的现象,则不能拒绝原 假设。 R 软件给出了参数假设检验的方法。以正态总体为例,t.test()函数也可以用来进行单 个或者两个正态总体的

15、均值的假设检验。进行单边检验时可以加入指令alternative(备择 假设) ,缺省时表示双边检验,less 表示备择假设为uu0 ,greater则相反, 用 conf.level 指定置信水平。 X-c(78.1,72.4,76.2,74.3,77.4,78.4,76.0,75.5,76.7,77.3) Y-c(79.1,81.0,77.3,79.1,80.0,79.1,79.1,77.3,80.2,82.1) t.test(X,Y,var.equal=T,al=” l” ) 输出: Two Sample t-test data: X and Y t = -4.2957, df = 18

16、, p-value = 0.0002176 alternative hypothesis: true difference in means is less than 0 95 percent confidence interval: -Inf -1.908255 sample estimates: mean of x mean of y 76.23 79.43 结果中我们不仅能得到X 和 Y 的均值的点估计76.23 和79.43 、左侧区间估计、 同时也 能通过p 值的大小判断是否接受原假设,该例中p0.05,认为拒绝原假设,即认为两总 体方差不同。与均值假设检验相类似。 R 语言中还可以用var.test()函数进行正态总体的方差假设检验。而且 R 语言不仅能就 正态总体进行均值和方差检验,也能对其他总体分布进行检验。例如用binom.test()进行 二项分布的检验和估计。习题5.3 中检验铁剂和饮食两种方法治

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号