R-大数据分析挖掘(5-R基础回顾)
(一)R函数
R是一种解析型语言,输入后可直接获取结果
函数(输入参数,参数)
R的函数分为“高级”和“低级函数”
• 高级函数可调用低级函数
• 高级函数称为泛型函数
• 函数名 <-‐ funcion(数据,参数=1,默认值){
• 异常处理
• 表达式
• return 返回值
• }
(二)R赋值与注释
• 2+2
• a < -‐2
• c <-‐ a+b
• #注释
(三)对象起名
• 1.区分大小写,China与china不同
• 2.不能用数字作为变量,对象也不能用数字开头
• 3.保留字
– NA,NaN,Pi,LETTERS,leBers,month 等
(四)元素的类型
• 数值型,Numeric
• 字符串,Character
• 逻辑型,Logical
• 因子型,Factor
• 复数型,Complex 如2+3i
• 向量(vector),一系列元素
– c(1,2,3);c(“a”,”a”,”b”,”b”,”c”)
• 因子(factor) 因子是一个分类变量
• c(“a”,”a”,”b”,”b”,”c”)
• 矩阵(matrix),二维的数据表,是一个数组的特例
• 数组(array)
– 数组是k维的数据表(k in 1:n ,n 为正整数)
• 数据框(dataframe)
– 是由一个或几个向量和因子构成,他们必须是等长的,但可以是不同但数据类型
• 列表
– 列表可以包含任何类型的对象
– 可以包含向量、矩阵、高维数组也可以包含lixt
运算符
• 数学运算
– +,-‐ ===
• 比较运算 返回true or false
– >,<,<=,>=,==
• 逻辑运算
– !,&,&&,|,||
外部数据读取
• read.table()
• read.csv() 读取csv或者
• 可以直接通过某些程序包读取excel等格式数据
• read.csv(‘file’,header=T)
– header=T 表示将数据的第一行作为标题
类的判断
• mode() 判断存储类型
• class(),判断数据的类
• is.numeric()
• is.logical()
• is.charactor()
数据框内元素的引用
• intake <-‐ data.frame(intake.pre,intake.post)
• 1. $ 引用列,后面为列的名称
– 例如:intake$ intake.pre
• 2. [,] 方括号,逗号前为行,逗号后为列
• intake[,1]
• I = 1:5;intake [i,]
类的转换
• as.numeric()
• as.logical()
• as.charactor()
• as.matrix()
• as.data.frame()
• as.factor()
(五)R操作Json
1.安装Json
2.加载进GUI中
3.从json转到R上
4。class判断类型,cat输出不带横线的json字符串,peint输出的带有/,可以通过$取到深层次的json串,最内层的可以用[]去得到
5.将toJson之后字符串输出到文件使用sink或者writeLines
(六)R 语言不仅在统计分析和数据挖掘领域计算能力强大,它在数据可视化领域也不逊于
昂贵的商业软件。当然,R 在可视化上强大,其背后离不开各种开源软件包的支持,Cairo
就是这样一个用于矢量图形处理的类库。Cairo 可以创建高质量的矢量图形 (GIF、SVG、
PDF、PostScript) 和位图 (PNG、JPEG、TIFF),同时支持在后台程序中高质量渲染!本节
将介绍 Cairo 在 R 语言中的使用。
1.安装
2.加载进GUI并检查Cairo包支持的图片格式
3.画散点图
(七)R中的时间序列基础库ZOO
时间序列分析是一种动态数据处理的统计方法,通过对时间序列数据的分析,我们可
以感觉到世界正改变着什么! R 语言作为统计分析的利器,对时间序列处理有着强大的支
持。在 R 语言中,单独为时间序列数据定义了一种数据类型 zoo,zoo 是时间序列的基础,
也是股票分析的基础。本节将介绍 zoo 库在 R 语言中的结构和使用。
1.介绍
zoo 是一个 R 语言类库,zoo 类库中定义了一个名为 zoo 的 S3 类型对象,用于描述规
则的和不规则的有序的时间序列数据。zoo 对象是一个独立的对象,包括索引、日期、时
间,只依赖于基础的 R 环境。zooreg 对象继承了 zoo 对象,只能用于规则的时间序列数据。
R 语言中很多其他的程序包,都是以 zoo 和 zooreg 作为时间序列数据的基础的!
zoo 包的API 主要有 6 类
(1)基础对象
zoo: 有序的时间序列对象。
zooreg: 规则的时间序列对象,继承 zoo 对象。与 zoo 相比,不同之处在于 zooreg 要求数据是连续的。
(2)类型转换
as.zoo: 把一个对象转型为 zoo 类型。
plot.zoo: 为 plot 函数提供 zoo 的接口。
xyplot.zoo: 为 lattice 的 xyplot 函数提供 zoo 的接口。
ggplot2.zoo: 为 ggplot2 包提供 zoo 的接口。
(3)数据操作
coredata: 查看或编辑 zoo 的数据部分。
index: 查看或编辑 zoo 的索引部分。
window.zoo: 按时间过滤数据。
merge.zoo: 合并多个 zoo 对象。
read.zoo: 从文件读写 zoo 序列。
aggregate.zoo: 计算 zoo 数据。
rollapply: 对 zoo 数据的滚动处理。
rollmean: 对 zoo 数据的滚动计算均值。
(4)NA 值处理
na.fill: NA 值的填充。
na.locf: 替换 NA 值。
na.aggregate: 计算统计值替换 NA 值。
na.approx: 计算插值替换 NA 值。
na.StructTS: 计算季节 Kalman 滤波替换 NA 值。
na.trim: 过滤有 NA 的记录。
(5)辅助工具
is.regular: 检查是否是规则的序列。
lag.zoo: 计算步长和差分。
MATCH: 取交集。
ORDER: 值排序,输出索引。
(6)显示控制
yearqtr: 以年季度显示时间。
yearmon: 以年月显示时间。
xblocks: 作图沿 x 轴分割图形。
make.par.list: 用于给 plot.zoo 和 xyplot.zoo 数据格式转换。
R-大数据分析挖掘(5-R基础回顾)的更多相关文章
- 零基础数据分析与挖掘R语言实战课程(R语言)
随着大数据在各行业的落地生根和蓬勃发展,能从数据中挖金子的数据分析人员越来越宝贝,于是很多的程序员都想转行到数据分析, 挖掘技术哪家强?当然是R语言了,R语言的火热程度,从TIOBE上编程语言排名情况 ...
- R学习:《R语言数据分析与挖掘实战》PDF代码
分三个部分:基础篇.实战篇.提高篇.基础篇介绍了数据挖掘的基本原理,实战篇介绍了一个个真实案例,通过对案例深入浅出的剖析,使读者在不知不觉中通过案例实践获得数据挖掘项目经验,同时快速领悟看似难懂的数据 ...
- R语言数据分析系列六
R语言数据分析系列六 -- by comaple.zhang 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候怎样下手分析,数据分析的第一步.探索性数据分析. 统计量,即统计学里面关注的数据集 ...
- [译]用R语言做挖掘数据《七》
时间序列与数据挖掘 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用 ...
- R语言数据分析利器data.table包—数据框结构处理精讲
R语言数据分析利器data.table包-数据框结构处理精讲 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代 ...
- 《深入理解Java虚拟机》第2版挖的坑终于在第3版中被R大填平了
这是why技术的第34篇原创文章 本周还是在家办公的一周,上面的图就是我在家的工位,和上周<Dubbo Cluster集群那点你不知道的事>这篇文章里面的第一张图片比起来,升级了显示器支撑 ...
- [译]用R语言做挖掘数据《五》
介绍 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...
- [译]用R语言做挖掘数据《二》
数据探索 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: ...
- R语言数据分析系列之四
R语言数据分析系列之四 -- by comaple.zhang 说到统计分析我们就离不开随机变量,所谓随机变量就是数学家们为了更好的拟合现实世界的数据而建立的数学模型.有了她我们甚至能够来预測一个站点 ...
随机推荐
- C#中的try catch finally
try中的程序块是有可能发生错误的程序块,catch中的程序块是当发生错误的时候才会执行的代码块,finally中的程序块是无论是否发生错误都会执行的代码块. 示例程序: ? 1 2 3 4 5 6 ...
- 从Spring HibernateTemplate模板方法设计模式的实现谈起
概述 模板方法模式是GOF设计模式中很典型的设计模式,其意图是由抽象父类控制顶级逻辑,并把基本操作的实现推迟到子类去实现,这是通过继承的手段来达到对象的复用.Spring模板方法模式实际是模板方法模式 ...
- boost总结之variant
boost的variant库类似于联合体,但是联合体中只能接受POD类型,但variant中并无此限制,它可以接受任意的类型. boost::variant <int, std::strin ...
- 文件写操作--WriteLog
private static void Write(string sMsg, string fileName) { if (sMsg != "") { try { var dir ...
- Installing EF Power Tools into VS2015
TLDR: If you don’t want to do the tasks (even though they are so easy) you can download the updated ...
- SQL Server数据库大型应用解决方案总结【转】
[IT168 技术]随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造 ...
- QT无法定位入口点QtCore4.dll(万恶的matlab啊)
今天安装QT, 参考: http://www.qtcn.org/bbs/simple/?t53333.html 遇到问题 发现怎么更matlab有关了.果断把系统环境变量改一下:放到了最前面 呵呵,行 ...
- bzoj 1030 [JSOI2007]文本生成器(AC自动机+DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1030 [题意] 给n个小串,随机构造一个长为m的大串,一个串合法当且仅当包含一个或多个 ...
- leetcode—pascal triangle
1.题目描述 Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows ...
- 【Java基础】Java中的多态
什么是多态 多态是一个对象的多种实现,是建立在继承的基础上的,即对象“人”,有老师和学生不同的实现,其实总结起来就是允许将子类类型的指针赋值给父类类型的指针. 多态的发生条件 多态发生的前提是:1. ...