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()函数。。。
R语言分析(一)-----基本语法的更多相关文章
- R语言分析朝阳医院数据
R语言分析朝阳医院数据 本次实践通过分析朝阳医院2016年销售数据,得出“月均消费次数”.“月均消费金额”.“客单价”.“消费趋势”等结果,并据此作出可视化图形. 一.读取数据: library(op ...
- 用R语言分析我的fitbit计步数据
目标:把fitbit的每日运动记录导入到R语言中进行分析,画出统计图表来 已有原始数据:fitbit2014年每日的记录电子表格文件,全部数据点此下载,示例如下: 日期 消耗卡路里数 步 距离 攀爬楼 ...
- 用R语言分析与预測员工离职
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/kMD8d5R/article/details/83542978 https://mmbiz.qpic ...
- 使用R语言分析股价波动
今天看的R语言.做个笔记. 使用R语言读取雅虎財经数据.分析微软公司(股票代码:MSFT)在2015年股价波动超过百分之十的日期. 然后通过检索新闻的方式,看看微软当天有什么新闻发生,导致股价波动. ...
- 92、R语言分析案例
1.读取数据 > bank=read.table("bank-full.csv",header=TRUE,sep=";") > 2.查看数据结构 & ...
- R语言分析(二)——薛毅R语言第二章后面习题解析
包括2.2—2.6中间的习题,2.2的习题中第三问和第四问,应该有其他的解答方法,但我看他的题目,似乎是在A和B的基础上进行,所以就选择了使用for循环的方法 做着习题,又不断查着书,这样,书籍也熟悉 ...
- R语言重要数据集分析研究——需要整理分析阐明理念
1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...
- 大数据时代的精准数据挖掘——使用R语言
老师简介: Gino老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一 ...
- R语言安装xlsx包,读入excel表格
开学的时候,男神给了数据(.xlsx格式)让用R语言分析分析,作为编程小白,读了一天都没读近R,更别提如何分析了. 现在小伙伴们都喜欢读txt 和csv格式的,好多xlsx的表格读不进R,将xlsx格 ...
随机推荐
- 腾讯QQ会员技术团队:以手机QQ会员H5加速为例,为你揭开sonic技术内幕
目前移动端越多越多的网页开始H5化,一方面可以减少安装包体积,另一方面也方便运营.但是相对于原生界面而言,H5的慢速问题一定被大家所诟病,针对这个问题,目前手Q存在几种方案,最常见的便是离线包方案,但 ...
- 牛顿迭代法求开根号。 a^1/2_______Xn+1=1/2*(Xn+a/Xn)
#include <stdio.h>#include <math.h>int main(void){ double a,x1=1.0,x2; printf("plea ...
- 彻底理解容器类(2)------- AbstractCollection深入了解
h2 { background-color: Skyblue } AbstractCollection认识 AbstractCollection是Collection接口的抽象实现.实现了一部分Col ...
- 老李谈HTTP1.1的长连接 1
老李谈HTTP1.1的长连接 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...
- MyBatis框架及原理分析
MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情: 封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转换 MyBatis的主要设计目的就 ...
- Android -- 贝塞尔二阶实现饿了么加入购物车效果
1,上周我们实现了简单的三阶贝塞尔曲线效果实例,今天是使用二阶贝塞尔曲线加动画实现的加入购物车效果,在码代码过程中出现了些问题,过一下和大家来探讨探讨,先看一下效果图 2,从上面的效果来看我们基本上可 ...
- 为Jquery EasyUI 组件加上“清除”功能
1.背景 在使用 EasyUI 各表单组件时,尤其是使用 ComboBox(下拉列表框).DateBox(日期输入框).DateTimeBox(日期时间输入框)这三个组件时,经常有这样的需求,下拉框或 ...
- JavaScript引用是如何工作的
原文链接:https://www.sitepoint.com/how-javascript-references-work/ 摘要:JavaScript中没有指针,并且JavaScript中的引用与我 ...
- 跨web浏览器的IC卡读卡器解决方案
BS结构的程序,如果要与IC卡读卡器通信本身就是件不容易解决的事情.微软的activex ocx技术将这种应用限制在IE浏览器上了,不兼容其它的浏览器.而Chrome使用插件也不兼容IE和其他的浏览器 ...
- Rookey.Frame v1.0极速开发平台稳定版发布
Rookey.Frame v1.0经过一年时间的修改及沉淀,稳定版终于问世了,此版本经过上线系统验证,各个功能点都经过终端用户验证并持续优化,主要优化以下几个方面: 1.性能较原来提升3倍之多 2.修 ...