今天是2018年6月7日,打算从头好好在学一下R语言,给自己15天时间学完!
本着学语言精神的数据类型-循环-构造函数-ctrl+c-用包的过程,先来研究数据结构。
R语言数据结构总共可以分三大类:
1:向量,因子
2:矩阵,数据框
3:列表,数组
首先研究一下向量和因子吧!
①:向量
首先,向量是最基本的数据容器,向量内的数值类型,判断方法与转换类型函数如下,向量里面的数据必须是同一类型
1向量的创建:
a<-c(1,2,3,4,5,6,7,8,9)
assign("a",c(1,2,3,4,5,6,7,8,9))
或者随机生成一个:b=runif(20,min=1,max=20)
或者一定步长:
> a=seq(1,20,by=3)
a
[1] 1 4 7 10 13 16 19
或者重复:
> s=rep(a,times=3)
> s
[1] 1 4 7 10 13 16 19 1 4 7 10 13 16 19 1 4 7 10 13 16 19、
2 查看向量:
mode(x) 向量内元素类型
class(x) x是什么数据类型
3 对象量的操作
①:对变量的操作会变成对所有向量的元素依次操作
> b=a>8;b
[1] FALSE FALSE FALSE TRUE TRUE TRUE TRUE
缺失数据用大写NA表示,数据不确定用NaN表示,数据是无穷用Inf表示(一会全大写,一会大写加小写,一会首字母大写,真是醉了),判断是否为空数据用函数is.na(),判断是否不确定用函数is.nan(),数据是否有限用is.finite(),数据是否为无穷用函数is.infinite():
> z=c(1:3,Na);z
Error: object 'Na' not found
> z=c(1:3,NA);z
[1] 1 2 3 NA
> is.na(z)
[1] FALSE FALSE FALSE TRUE
将缺失的数据赋值为0:
> z[is.na(z)]=0;z
[1] 1 2 3 0
下面将这几个有问题的数据放在一个向量中:
> z=c(0/1,0/0,1/0,NA);z
[1] 0 NaN Inf NA
> is.na(z)
[1] FALSE TRUE FALSE TRUE
> is.nan(z)
[1] FALSE TRUE FALSE FALSE
> is.finite(z)
[1] TRUE FALSE FALSE FALSE
> is.infinite(z)
[1] FALSE FALSE TRUE FALSE