(一)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 数据格式转换。