最近开始学习R语言,把学习笔记和小伙伴们分享一下吧,欢迎一起交流
R是S语言的一种实现。S语言是由 AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。最初S语言的实现版本主要是S-PLUS。S-PLUS是一个商业 软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。后来Auckland大学的Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系统。R的使用与S-PLUS有很多类似之处,两个软件有一定的兼容性。
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实现分支、循环,用户可自定义功能。 R是一个免费的自由软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使用的,在那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。
点开R语言就看到了如下操作界面,这也是我们和R语言内部算法交互的最主要途径。
“>”类似于cmd下的录入提示符一样,我们可以从这里录入数据,进行数据处理等。首先我们先录入两个数组:x1= c(1 2 3 4 5)和x2=c(‘1’,‘2’,‘3’,‘4’,‘5’)其中“c()”是R语言的录入数组的函数,R语言每一行只能执行一个操作,录入x1后回车继续录入x2;录入完后,数据就存放于内存,后续只需调用x1标识符即可对数组(1,2,3,4,5)进行操作。
1) 、查看数组---直接调用数组名回车;
2) 、按照下标获取数组元素---调用数组名+方括号+元素下标;
3)、查看数组长度(length());
4)、查看数组元素类型(mode(); ps:语言只支持数组元素单一类型,及所有元素要么都是字符,要么都是数值)
5)、对数组的操作还包括多个数组的包括,可以将两个数组组合成一个矩阵(R语言称之为数据框:frame),可以将数组按照行向量组合rbind()和列方向的组合cbind();
Ps:将字符类型数组和数值类型数组合并的结果是新的矩阵元素都为字符串类型;
具体的使用和输出如下:
常见的统计指标包括:平均值(mean())、求和(sum())、连乘(prod())、最值(min()、max())、方差(var())、标准差(sd())
首先我们先借助R的快速生成数组函数c(startNum:endNum)生成1到100个数字并存放于数组y内,然后对其进行相应统计指标输出,具体见下图:
R语言提供了实用的下标处理函数,我们可以方便的取出理想数据,例如:
1)、取连续下标的元素;
2)、按照其他数组元素的值取---以其他数组元素的值取出相应本数组对应下标的元素;
3)、按照元素值的大小取,如可以去除数组中大于某个数的所有元素,小于某个数的所有元素等等;
4)、实用的which函数,which在数组下标中代表该数组对象,可以通过which取出数组元素a[which()],相应的也可以取出符合元素的下标which();
5)、自排序函数(sort())和数组反转函数(rev());
具体使用及输出如下:
R提供了数组转矩阵的函数(matrix()),矩阵是后续很多工作的开始:
1)、矩阵进行加减(+-)、相乘(%*%):
Ps:数组生成矩阵时,默认是按照列方向进行,可以加参数byrow=T,使其按行方向生成矩阵
2)、取对角线(diag())、转置(t())
3)、求逆(solve)、解线性方程组(solve):
求特征值特征向量(eigen())
数据框也是矩阵形式,但不同于一般的矩阵,数控框中的列可以是不同的数据类型,每一列即为一个属性值,每一行即为条记录,或为一个对象的所有属性的观测值。
R语言支持for循环和while循环,两种循环结构上和通用编程语言类似,但有少数差异。
Ps: R中数组下标从1开始;R不支持“++”
今天就贴到这啦,希望对小伙伴有帮助,下次换R语言之绘图篇。
原文地址:http://blog.csdn.net/howardge/article/details/41598239