R语言学习总结(共21页)

上传人:鲁** 文档编号:512798673 上传时间:2023-01-25 格式:DOC 页数:11 大小:75KB
返回 下载 相关 举报
R语言学习总结(共21页)_第1页
第1页 / 共11页
R语言学习总结(共21页)_第2页
第2页 / 共11页
R语言学习总结(共21页)_第3页
第3页 / 共11页
R语言学习总结(共21页)_第4页
第4页 / 共11页
R语言学习总结(共21页)_第5页
第5页 / 共11页
点击查看更多>>
资源描述

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

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

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

3、行基础的数字、字符以及向量的运算,内置了许多与向量运算有关的函数。而且还提供了十分灵活的访问向量元素和子集的功能。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.data.frame(A) #把A转化成数据框形式的XX1:2,seq(1,5,2) #输出X的第1、2行和1、3、5列 输出:V1 V3 V51 1 3

5、 52 7 9 11输入:attach(X);R-V1/V5;R #调用数据框X,计算并输出V1和V5的比值 输出:1 0. 0.与此同时R语言中也提供了其它高级程序语言共有的分支、循环等程序控制结构。比如if/else语句,for循环等。因此R语言也可以很容易的根据情况编写自己所需要的函数。例:编写一个R程序,输入一个整数n,如果n小于等于0,中止运算,并输出:“要求输入一个正整数”;否则,如果n是偶数,则将n除2赋值给n;否则将3n+1赋给n。不断循环,直到n=1停止,并输出:“运算成功”解:新建一个程序脚本,名为chapter2.R”,写入代码:f-function(n)if(n=0)

6、list(要求输入一个正整数)elserepeatif(n=1) break #n=1时终止 else if(n/2=as.integer(n/2) n-n/2 #n为偶数时除2 else n hp_per_cyl splat(hp_per_cyl)(mtcars1,)1 18.33333 splat(hp_per_cyl)(mtcars) 1 18.33333 18.33333 23.25000 18.33333 21.87500 17.50000 30.62500 15.50000 23.7500010 20.50000 20.50000 22.50000 22.50000 22.5000

7、0 25.62500 26.87500 28.75000 16.5000019 13.00000 16.25000 24.25000 18.75000 18.75000 30.62500 21.87500 16.50000 22.7500028 28.25000 33.00000 29.16667 41.87500 27.25000等价于: hp_per_cyl(mtcars$hp,mtcars$cyl)splat函数的优点就是可以不用拆分字段,可以一起输入作为参数。(2)与plyr函数合用: f ddply(mtcars,.(cyl),splat(f)2 each函数 作用:把多个函数汇聚成

8、一个函数,当使用这个函数时,将分别作用多个函数。它的作用结果是把一个函数变成一个新函数。 不足:不能给作用的函数指定附加参数,只能使用默认参数。例: fun fun(1:10)等价于: f f(1:10)3 colwise函数colwise(.fun,.cols,.) 说明:.fun:要转化的函数;.cols是测试数据框的列是否应包含的判别函数或者是要包含的列的名称。catcolwise(.fun,.) 与colwise功能类似,只是对离散型变量有效numcolwise(.fun,.) 与colwise功能类似,只是对数值型变量有效作用:把作用于数据框行向量的函数(如mean,median等)

9、转化为作用于数据框列向量的函数。于plyr函数一起使用十分方便。作用结果生成一个新的函数。例: nmissing colwise(nmissing)(baseball) colwise(nmissing,.(sb,cs,so)(baseball) ddply(baseball,.(year),colwise(nmissing,.(sb,cs,so) numcolwise(nmissing)(baseball)等价于:colwise(nmissing,is.numeric)(baseball) catcolwise(nmissing)(baseball)等价于:colwise(nmissing,

10、is.discrete)(baseball)4 failwith函数failwith(default=NULL, f, quiet=FALSE) 作用:修正一个函数,使得当该函数出现错误时返回一个设定的默认值,默认为空。作用结果生成一个新的函数。 f f(1)Error in f(1) : Error safef safef(1)Error in f(.) : ErrorNULL safef safef(1)1 125 summarise()函数summarise(.data, .) 作用:对数据框做统计汇总,为设定的统计方法或函数 例:summarise(baseball,duration=

11、max(year)-min(year),nteams=length(unique(team) duration nteams1 136 132head(ddply(baseball,id,summarise,duration=max(year)-min(year),nteams=length(unique(team) id duration nteams1 aaronha01 22 32 abernte02 17 73 adairje01 12 44 adamsba01 20 25 adamsbo03 13 46 adcocjo01 16 5数据集变量操作1 变量排序:arrange函数arr

12、ange(df, .(var1), .(var2)作用:按照指定列排序。注意:使用arrange函数排完序后行名会丢失,需要用cbind补回。例: arrange(mtcars,cyl,disp) cars arrange(cars,cyl,disp)-先把行名作为一个新的列加到数据框再排序2 更改变量名rename(x, replace, warn_missing=TRUE) 作用:通过名字修改变量名字,不是根据它的位置。例:head(rename(tmt,replace=c(mpg=avgpg,”cly”=”new”)3 取行或列的数据take(x, along, indices, drop = FALSE) 作用:在x中,按照某个维度取数。 参数说明:x为取数的源数据,可以是array或者dataframe; along:维度。1表示行,2表示列,3表示数组快等等; indices:具体维度所对应的指; drop:是否整合 例: take(mtcars,2,1) -取第一列 take(mtcars,1,1) -取第一行数据集操作1 数据集链接

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

当前位置:首页 > 办公文档 > 教学/培训

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