R语言分析(一)-----基本语法

  一, R语言所处理的工作层:

解释一下:

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

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

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

二,R语言的数据结构:

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

1,向量:

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

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

由于博客中木有R语言代码的选项,所以,下面选择截图:

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

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

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

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

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

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

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

第三种创建向量的方式:

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

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

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

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

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

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

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

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

这里包括了which函数,其中which.max()和which.min()分别用来取向量中的最大值和最小值的下标,注意是下标,不是对应的值

还可以用来去特定范围和特定值的下标

而后便是rev()函数和sort()函数,分别用来进行反转和排序

2,矩阵

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

由上面可知,前面有关三个创建向量的方法是有误的,c()方法很显然也可以用来创建大量的元素的向量

用matrix方法对向量进行组合的时候,默认是安装列来进行书序的组合,比如第一个,矩阵,按照列,第一个列是1,2,3,第二列才是4,5,6所以就是明显的按列进行,

如果改为用byrow=T,则改为按行来排列

3,数组

4, 数据框

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

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

5,factor

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

如上图所指示,就是去的列的值了,字面的上的意思就是取得影响因子,如果吧每一个当一个事物的特征值的话

6,列表

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

三,R语言计算相关的函数:

普通运算:

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



矩阵运算,

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

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

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

矩阵的乘法,就是%*%   ,纯粹的*只是矩阵的元素相乘。。

diag()函数,可以根据矩阵获得列表对象线上的元素,当然还可以根据对角线上的元素,来创建一个矩阵

同时可以用来构建单位阵

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

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

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

四,R的语句:

for语句:

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

while 循环语句:

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

五,一些其他的特殊的函数:

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

时间: 2024-10-13 10:15:14

R语言分析(一)-----基本语法的相关文章

用R语言分析我的fitbit计步数据

目标:把fitbit的每日运动记录导入到R语言中进行分析,画出统计图表来 已有原始数据:fitbit2014年每日的记录电子表格文件,示例如下: 日期 消耗卡路里数 步 距离 攀爬楼层数 久坐不动的分钟数 不太活跃分钟数 中度活跃分钟数 非常活跃分钟数 2014年4月27日 2736 16581 11.84 7 1111 131 117 81 2014年4月28日 2514 12622 9.01 6 910 136 59 76 2014年4月29日 2231 8357 5.97 9 1208 1

用R语言分析詹姆斯的客场得分

篮球小皇帝--勒布朗·詹姆斯(LeBron James), 1984年12月30日出生在美国·俄亥俄州·阿克伦,美国男子职业篮球运动员,司职小前锋,现效力于克利夫兰骑士队. 勒布朗·詹姆斯在2003年的NBA选秀大会中,首轮第一顺位被克利夫兰骑士队选中.2003-2010年,詹姆斯在骑士队效力7年,期间获得两届NBA最有价值球员(MVP).2010年转会至迈阿密热火队,与德怀恩·韦德.克里斯·波什组成"三巨头"阵容. 现在,用R语言来分析詹姆斯(LBJ)与哪个球队相遇时,表现得最好.先

R语言分析nginx日志

nginx日志举例 172.16.1.1 - - [04/Feb/2015:23:40:01 +0800] "POST /api/message/query HTTP/1.1" 200 52 "-" "Apache-HttpClient/4.2 (java 1.5)" "-" "message.test.com" "172.16.3.159" "-" "0.

R语言分析南京房价

**################################################# 本项目分析南京房价数据,数据来源:链家网 autho:owl 前言:本文利用网上爬取的南京二手房信息,利用R进行简单分析,数据做仅学习研究练习用,侵删 首先读取数据,数据为.csv格式 houseprice = read.csv("E:/houseprice.csv",stringsAsFactors = F) View(head(houseprice,30)) str(housep

用R语言分析《我是歌手》出场顺序与名次的关系

上周<我是歌手>吵吵闹闹地落幕了,这一季是我最关注的一季,很认真的从头看到尾.网上各种讨论,特别反感那些说看到谁谁谁就不想看了的说法,其实单纯地去听他们的歌声,会觉得即使是之前不看好的那些歌手都能给你很多惊喜和感动.以前对清华哥哥的印象是歌都很好听,但是自己唱不红,翻唱都会变红啊,现在喜欢上他的声音了啊!不管这个节目有没有什么内部操作黑幕,单纯听他们的歌还是挺好的.当然,这篇文章的主旨不在此,我们要看的如题<我是歌手>节目中,出场顺序和名词的关系.关系肯定是有的,节目里自己都说到了

R语言分析(二)——薛毅R语言第二章后面习题解析

包括2.2—2.6中间的习题,2.2的习题中第三问和第四问,应该有其他的解答方法,但我看他的题目,似乎是在A和B的基础上进行,所以就选择了使用for循环的方法 做着习题,又不断查着书,这样,书籍也熟悉了,习题也做完了,感觉特别爽的还是... 解答:上面题目中第二小问是个错误的,改写成D=A ,才有下面的答案 (1)(2)(3): (4): (5): 2.3题答案: 2.4题答案: 2.5题的答案: 完成的答案如下图所示: 1,生成纯文本和csv,并读取 2,使用excel打开生成的csv

R语言重要数据集分析研究——需要整理分析阐明理念

1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标,常用的如下:最小值,最大值,四分位数,均值,中位数,众数,方差,标准差,极差,偏度,峰度 先来解释一下各个量得含义,浅显就不说了,这里主要说一下不常见的 众数:出现次数最多的 方差:每个样本值与均值的差得平方和的平均数 标准差:又称均方差,是方差的二次方根,用来衡量一个数据集的集中性 极差:最大值

大数据时代的精准数据挖掘——使用R语言

老师简介: Gino老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一世界500强公司核心部门担任高级主管负责数据建模和分析工作,在实践中攻克统计建模和数据分析难题无数,数据处理与分析科学精准,在实际应用中取得良好的效果. Gino老师担任数据分析培训师多年,探索出一套以实例讲解带动统计原理理解和软件操作熟悉的方法,授课的学生能迅速理解统计原理并使用统计软件独立开展数

R语言矩阵维度“消失”的问题

矩阵(matrix)是R语言中很基础的一种数据结构,也是R语言使用者经常使用的一种数据结构.矩阵的维度一般为二维(m*n). R语言中矩阵的操作是非常简单易懂的,但是在对R语言做矩阵操作时,有个地方需要特别注意.下面我们通过一个例子说明. 首先,我们创建一个用于测试的矩阵. test1 <- matrix(data = c(1:6), nrow = 3, ncol = 2, dimnames = list(c("row1", "row2", "row