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 说到统计分析我们就离不开随机变量,所谓随机变量就是数学家们为了更好的拟合现实世界的数据而建立的数学模型.有了她我们甚至能够来预測一个站点 ...
随机推荐
- bzoj1492
好题+神题,首先肯定是dp,我们设f[i]为到第i天能获得的最多的B卷(设获得的钱数亦可)由题目hint可知,要么全买要么全卖,我们有f[i]=max(maxmoney,f[j]*b[i]+f[j]* ...
- POJ_2566_Bound_Found_(尺取法+前缀和)
描述 http://poj.org/problem?id=2566 给出一个整数序列,并给出非负整数t,求数列中连续区间和的绝对值最接近k的区间左右端点以及这个区间和的绝对值. Bound Found ...
- mysql备份脚本
[root@AY130828161048465847Z ~]# vi mysqlbak.sh #!/bin/bash USERNAME=rootPASSWORD=mysqlDBNAME=test DA ...
- 【转】我的WIN7分辨率是1920*1080,调低后字体模糊
原文网址:http://tieba.baidu.com/p/778306758 WIN7还有一个“使用XP风格DPI缩放”的选项,如果选中则只放大文字,不选会连对话框和文字全部放大 这么多层楼,只有这 ...
- 如何使一个网络下的2台路由器都可以dhcp上网
设备:2台路由器,网线若干 首先,设置好一个路由器,让它可以拨号上网.网关设置为192.168.1.1,子网掩码为255.255.255.0,dns为61.177.7.1 然后,设置第二台路由器.设置 ...
- LightOJ 1197 Help Hanzo 素数筛
题意:筛一段区间内素数的个数,区间宽度10w,区间范围INT_MAX 分析:用sqrt(INT_MAX筛一遍即可),注意先筛下界,再筛上届,因为有可能包含 #include <cstdio> ...
- dataframe 数据统计可视化---spark scala 应用
统计效果: 代码部分: import org.apache.spark.sql.hive.HiveContext import org.apache.spark.{Logging, SparkConf ...
- 关于 Lua 内存泄漏的检测
前一阵开始和同事一起优化内存,首先是优化 Lua 内存,因为发现每次战斗完后 Lua 内存非常大,从 3M 左右在经过了10次左右的战斗后,会暴增到近 100M,很明显是有内存泄漏. 然后我 ...
- jdk 中Runtime之单例模式 学习
这段代码是我从源码中截取的,大家很容易看到currentRuntime是一个静态变量,getRunTime对应的就是getInstacne.不是说这种方法不好吗? public class Runti ...
- Android SDK 离线安装方法
有朋友反映从连接直接下载安装包不能获取到最新版本(每次更新后的包地址需要重新去查找),而且经常无法访问. 最方便的方法是使用代理或vpn接入网络,即可及时下载最新版sdk. 作为一名开发人员,流畅地浏 ...