R循环有两个_5个基本语法,轻松搞定R语言

爱数据学习社

welcome

01 R语言所处理的工作层

de673d48ccf78576d31234289835c039.png

解释一下:最下面的一层为数据源,往上是数据仓库层,往上是数据探索层,包括统计分析,统计查询,还有就是报告。

再往上的三层,分别是数据挖掘,数据展现和数据决策。

由上图可知,R语言是可以用于数据挖掘,数据展现,而后领导根据展现的数据来决策,R语言在数据展现的方面,拥有很强大的功能。

02 R语言的数据结构

包括如下的几项:包括向量,矩阵,数组,数据框,列表和因子

9745ba2f45f347ed390bb6952396bd62.png

1. 向量:创建向量的方法一共有三种,分别如下:

第一种,使用c的这个方法:

fc4b9d626bcc1c27b1d6341b95d380fc.png

解释一下,就是创建x1向量,x2向量,然后分别使用length和mode函数,获得向量的长度和向量的类型,上面显示的向量的类型是numeric,即为数字类型。

然后,分别使用rbind(x1,x2)和cbind(x1,x2)两个方法分别对两个向量进行行组合和列组合。

那么向量是否可以为别的类型呢?答案很显然是可以的,如下所示,向量中只要含有字符串,那么这个向量就是字符类型的。

0000d1d68118afeb6dd0b42b06049a25.png

第二种创建向量的方法,及向量的截取:

cf1730df6835106a15deffb9b3afa8d8.png

由上面的代码可知,不写c的情况下,可以直接使用来完成向量的创建,而且在常见的同时,根据加减乘来决定所创建向量的具体的形式。

向量中元素的选取和别的语言中的数组的方法是相同的,不同的是,他可以加上一个负号进行选取,而后选取的结果就是去掉这个元素之后的其他的元素。

这种方法不单单适用于单个元素,依旧适用于多个元素,多个元素的时候使用来完成。

第三种创建向量的方式:

RXbMdFSAPCktGY

这种创建方式,长的和第一种方法有点相同,其效果和第二个方法的效果又有点相似,其中by其表示等差,length表示的是个数,根据个数来判断方差到底是多少?

这三种创建向量方法的总结对比,似乎会得到一个结论:

第一种,适合于创建有限个少量的元素的向量

第二种,适合于创建大量元素,但是这些元素之间关系不是那么强烈的向量

第三种,适合创建拥有等差性质的向量

下面的时候,还有一个创建向量的方法。

最后还有一个向量,是R语言之中内置的常向量,用来表示a,b,c,d...z等26个字母

a4aac66d72fb370ceea3313a20dcb9a4.png

2. 使用特定的函数,对向量进行操作

240f1e3f33d41569ae789ffd3f340eff.png

这里包括了which函数,其中which.max和which.min分别用来取向量中的最大值和最小值的下标,注意是下标,不是对应的值,还可以用来去特定范围和特定值的下标,而后便是rev函数和sort函数,分别用来进行反转和排序。

3. 矩阵

不同于创建向量的方法,矩阵的创建方法只有一种,且是在向量的基础上,对向量进行按列和按行进行排序得到的结果。

由上面可知,前面有关三个创建向量的方法是有误的,c方法很显然也可以用来创建大量的元素的向量,用matrix方法对向量进行组合的时候,默认是安装列来进行书序的组合,比如第一个,矩阵,按照列,第一个列是1,2,3,第二列才是4,5,6所以就是明显的按列进行,如果改为用byrow=T,则改为按行来排列。

4. 数组

151c9ffb5683ec76d4a48b37f9a9da60.png

5. 数据框

数据框的构建也只有一种方法,他的也是有向量组合而成,由此可以见得,向量是R语言最根本对的数据结构,如果没有向量,一切都是不行的。

同时不同于矩阵,他的每一个列可以和其他的列是不同的类型。

ccfd3a2136f68acadd5adcb7bf9be151.png

6. factor

下图所示,iris是R语言内置的数据框,如果使用facotor就可以选择其中的一列

323183640456fdd259451d9a6d52c721.png ddcd5a2b98d7cb51653c0224cfe6a812.png

如上图所指示,就是去的列的值了,字面的上的意思就是取得影响因子。

7. 列表

所谓列表,可以看成是有序个元素的集合,他存进去的顺序很显然是和取出来的书序是相等的。

663c16f7058b435c2b2bd452564db488.png

03 R语言计算相关的函数

1. 普通运算

ee065500320f165c1a892b917b2b96ea.png

由上图所示,mean是求平均值,sum是求和,max( )是求最大值,,min 是求最小值

2. 矩阵运算

包括加减乘除,求特征值和特征向量等等

a95d57eab390204e90d6e93e11a07cb5.png

其加法减法的表示没有啥特殊的,同时需要注意的是,t是表示转置,他的功效很大,还可以吧转化为矩阵,如下图所示:

aa94250df462025edebd9dc866ae9027.png

就完成了到行矩阵的转换,同时也完成了行矩阵到列矩阵的转换

53c8eed4434e2a493872af7640dd1c54.png

矩阵的乘法,就是%*% ,纯粹的*只是矩阵的元素相乘。diag函数,可以根据矩阵获得列表对象线上的元素,当然还可以根据对角线上的元素,来创建一个矩阵,同时可以用来构建单位阵。

如下计算,rnorm是去的随机数,solve函数是用求得矩阵a的逆矩阵,即为矩阵的除法

adff95000677a6302570c8d5a259674d.png

如下图所示,solve函数依旧可以用来解方程组:

464f4e782a8524669ea7589fe358d0aa.png

如下图所示,eigen函数就是用来取得一个矩阵的特征向量和特征值,同时可以使用$来取出

1cd8473980b80ad1d27129c8791861c2.png

04 R的语句

1. for语句:

不同于别的语法,for循环之中,没有必要初始化值,a或者b有一个初始化的值

4d74a4cd6bdcd19289acdfe36daa7e04.png

2. while 循环语句:

不同于上面的,a需要有初始的值,也还要控制i的加减

74a3dd96afa961794d232e2418edc376.png

05 一些其他的特殊的函数

注意在,文本中,如果想加载这个文件打印,就需要在文本的代码之中,使用print函数。

fa36462d13170f3f694ad41db33acd1b.png 51dda497fce8d7456b5dce67a7a5b7c0.png

End.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值