R语言快速入门--从最基本的功能讲起

最近因为一些特殊的原因,开始接触R语言。越学越发现R语言的强大,原来完成一件事情是如此的简单。R语言中提供的工具和方法极大的方便了对一些数据的分析和处理的工作。对于一个要立志从事数据分析或者数据挖掘的学生或者工程师来说,学习R语言,确实可以达到如虎添翼的效果。

R语言有如下特点:

1. 有效的数据处理和保存机制;

2. 拥有一整套的数组和矩阵操作运算符;

3. 一系列连续而又完整的数据分析工具;

4. 图形统计可以直接对数据进行分析和显示,可用于多种图形设备;

5. R语言是一种相当完善、简洁和高效的程序设计语言。包括条语句,循环语句、用户自定义函数已经输入输出接口;

6. R语言是彻底的面向对象的统计编程语言;

7. R语言与其它编程语言以及数据库之间有良好的接口。

个人认为学习任何一门语言都应该从最基础的应用开始,尽量少去研究那些很偏,很怪,甚至是反人类的设计,因为那或许是语言本身的缺陷。

1、R语言的基本应用

对于R语言的安装我这里就不介绍了,因为基本上用过电脑的人都知道怎么安装软件。我先介绍一下怎么安装R语言的扩展包,做数据分析的时候肯定会用到扩展包的。

首先找到合适的镜像,然后选择合适的包安装就可以了,安装过程中会自动解决依赖关系。

2、写第一个R语言程序

R语言里最基本的两种数据类型是向量和矩阵。其实这两种数据类型都可以归结为数组,向量和矩阵也只不过是数组的一种特殊的表现形式。

(1)几个简单的入门级函数c(), length(), mode(), rbind(), cbind();

R语言的很多函数基本上都能做到见名知义。

先及时如下:

c():函数c()用于生成一个向量,向量的内容可以是数值,也可以是字符串,甚至可以是向量,但必须是同一种类型;

length():用于获取对象的长度;

mode():获得对象内的数据类型;

rbind():把两个向量按行组合成一个矩阵,两个向量的维数必须相同;

cbind():把两个向量按列组合成一个矩阵,两个向量的维数必须相同;

具体效果如下图所示:

(2)求平均值、和、连乘、最值、方差、标准差的函数

函数:mean(),sum(),min(),max(),max(),var(),sd(),prod()

var():用于求方差;

sd():用于求标准差;

prod():计算连乘。

效果入校:

(3)通过生成序列的方法来产生向量

几种比较直观的产生序列的方法如下:

通过序列来生成矩阵,其中a是一个1—100的向量:

通过seq()函数来生成序列:

产生字母序列:

which()函数的使用:

对新建的向量进行排序和反转(通过rev()函数和sort()函数实现)

(4)生成矩阵以及矩阵的计算

通过matrix()函数来生成矩阵,矩阵通过向量来产生:

通过t()实现矩阵的转置:

同型矩阵可以做加减运算:

满足条件的矩阵可以做乘法:

diag()函数用法示例:

对一个矩阵求逆solve(),首先通过正态分布生成函数,随机生成一个矩阵:

通过solve()解线性方程组:

求矩阵的特征值与特征向量:

R语言的循环与打印语句:

从外部读取R脚本并执行:

时间: 2024-10-28 21:49:37

R语言快速入门--从最基本的功能讲起的相关文章

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

如何R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

C语言快速入门教程(二)

C语言快速入门教程(二) C语言的基本语法 本节学习路线图: 引言: C语言,顾名思义就是一门语言,可以类比一下英语; 你要说出一个英语的句子需要:  单词  +  语法!  将单词按照一定的语法拼凑起来就成了一个英语句子了; C语言同样是这样,只不过单词可以理解为一些固定的知识点,而语法可以理解为算法(可以理解为解决问题的方法) 在这一节中我们就对固定知识点中的语言描述与数据存储进行解析! 1.C语言的基本元素 1.1  标识符 什么是标识符? 答:在C语言中,符号常量,变量,数组,函数等都需

C语言快速入门系列(八)

C语言快速入门系列(八) C语言位运算与文件 本章引言: 在不知不觉中我们的C快速入门系列已经慢慢地接近尾声了,而在这一节中,我们会对 C语言中的位运算和文件进行解析,相信这两章对于一些人来说是陌生的,因为很多 老师都会跳过这两个大知识点,其实这两个也是灰常重要的!比如一个问题,叫你算 变量a乘以2,怎么写效率高?直接a *2,很多人都这样写,但是如果你会位运算的话,你会a<<1; 位运算的效率可是比a*2高的哦!另一个问题,不用变量左中间值,直接交换两个变量的值? 你怎么做?也是用到位运算!

R语言(入门小练习篇)

问题: 一组学生参加了数学.科学和英语考试.为了给所有的学生确定一个单一的成绩衡量指标,需要将这些科目的成绩组合起来.另外,还想将前20%的学生评定为A,接下来20%的学生评定为B,以此类推.最后,希望按字母顺序对学生排序. Excel中的数据表(自己一个个敲的,最讨厌做的事情TT) StuId StuName Math Science English 1 John Davis 502 95 25 2 Angela Williams 465 67 12 3 Bull Jones 621 78 2

C语言快速入门系列(六)

C语言快速入门系列(五) C语言指针加强 本节引言: 上一节我们对C语言中的指针进行了初步的了解,学习了指针的定义,与普通变量 一维数组,二维数组,字符串之间的使用!在本节中我们将会学习一些新的知识点, 函数,结构体与共用体,枚举类型以及类型定义符typedef! 本节学习路线图: 本节正文 函数 ps:空函数就是什么都不做的函数,开发过程中不需要马上实现的,先写空函数!简单的空函数:void abc(){   } 结构体 共用体: 代码示例2: 建立一个共用体类型,当输入的时学生类型时,要求输

C语言快速入门系列(一)

C语言快速入门系列(一)  本系列引言: 本教程的宗旨是将C语言入门的内容进行关键知识点的提纯,将一些笼统的废话去除; 再进行压缩,然后将本章的关键知识点做成路线图的,可以更加方便地掌握学习的方向; 最后提供相关的代码示例以及详细注释,可以帮助学者更快地上手C语言! 如果对本教程有什么建议和缺点纰漏的,欢迎指出,不胜感激! 本节学习路线图: 正文: 1.计算机与程序设计语言的关系: 答:计算机是由硬件与软件系统组成,硬件==>物质基础;软件==>灵魂; 如果脱离了软件,计算机就只是一台什么都做

C语言快速入门教程(一)

C语言快速入门教程(一) C语言概述(开发准备) 本节学习路线图: ps:标记3的表示不是很重要,知道有这个东西就行了;标记1表示非常重要,需要熟练掌握! 1.C语言的概述: 1.1  计算机与程序设计语言之间的关系? 答:计算机是由硬件与软件系统组成的;硬件---->物质基础;软件----->灵魂; 如果脱离了软件,计算机就是一台什么都做不了的裸机; 可以形象地比喻成人的大脑和身体;两个互不可缺! 1.2  程序设计语言的更新换代: 1.3 C语言的特点 1.4  最简单的HelloWorl

C语言快速入门系列(五)

C语言快速入门系列(五) C语言指针初涉                                           ------转载请注明出处:coder-pig 本节引言: 上一节我们对C语言复合数据类型中的数组进行了解析,在本节中,我们会对C语言复合数据类型中的 重点,C语言的灵魂-----指针进行学习!使用指针的好处:利用指针可以表示与使用复杂的数据结构; 更加方便地使用我们的数组与字符串;可以像汇编语言一样直接处理内存单元地址;可以动态地进行内存空间 分配,C语言指针是重点,同