数据结构
数组
- 维度可以大于2
- 创建函数:array()
- myarray <- array(vector, dimensions, dimnames)
- vector包含了数组中的数据
- dimensions是一个数值型向量,给出了各个维度下标的最大 值
- dimnames是可选的、各维度名称标签的列表
- (行,列,维度)
~~~R
> dim(x)<-c(2,2,5)#三维数组,x已被定义为1-20的向量
> x
, , 1
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 2
[,1] [,2]
[1,] 5 7
[2,] 6 8
, , 3
[,1] [,2]
[1,] 9 11
[2,] 10 12
, , 4
[,1] [,2]
[1,] 13 15
[2,] 14 16
, , 5
[,1] [,2]
[1,] 17 19
[2,] 18 20
title: 矩阵的运算
| 函数 | 含义 |
| ---- | -------- |
| + | |
| - | |
| % * % |计算外积 |
| * | 计算内积 |
| / | |
| t | 转置矩阵 |
列表
- 定义:一些对象的有序集合。列表中可以存储若干向量、矩阵、数据框,甚至其他列表的组合
- 向量与列表:
- 相似:一维数据集合
- 向量只能存储一种数据类型,列表中的对象可以是R中的任何数据结构,甚至列表本身
title: 创建列表
~~~R
> a<-1:20#数值型向量
> b<-matrix(1:20,4)#矩阵
> c<-mtcars#内置
> d<-"this"#字符型向量
> mlist<-list(a,b,c,d)#建立列表
title: 为列表中的对象添加名字
~~~R
mlist<-list(first=a,second=b,third=c,forth=d)#为列表中的每个对象添加名称
title: 访问列表
~~~R
mlist[1]#访问列表中第一个对象
mlist[c(1,4)]#使用向量访问多个对象
mlist["first"]#使用对象名称访问对象
mlist$first#使用对象名称访问对象
> class(mlist[1])#访问一个元素,输出结果是列表
"list"
> class(mlist[[1]])#访问的时第一个元素本身
[1] "integer"
title:列表对象的添加与删除
```R
mlist[[5]]<-iris3#iris3为内置矩阵,在列表的第五个对象上添加iris3
mlist=mlist[-3]#删去列表的第三个对象
字符串处理
函数 | 含义 |
---|---|
nchar(“off”) | 统计字符串长度 |
length() | 返回元素的个数 |
paste(offs,seq=“连接符”) | 将多个字符串合并为一个,默认空格连接 |
substr(off,start=,stop=) | 函数返回起始点到结束点中间的字符 |
toupper() | 将字符串转化为大写 |
tolower() | 将字符串转化为小写 |
sub | |
gsub | 全局替换 |
grep(“off”,x,fixed=T/F) | 搜索x判断第?位元素与off匹配,支持正则表达 |
match(“off”,x) | 匹配,不支持正则表达式 |
straplit(字符串,“分隔符”) | 分割元素 |
outer() |
数据统计
- 数据分析的步骤
- 数据采集
- 数据存储
- 数据分析
- [[数据挖掘]]
- [[数据可视化]]
- 进行决策
数据挖掘
英文名叫Data Mining,又称为资料探勘、数据采矿。一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。
同样的数据,不同的人可以挖掘出不同的信息
数据可视化
将数据用图式的方法展示出来