常见的对象(类型+长度)
向量:数字型变脸或者数值型变量,一个向量里面的数据类型需要保持相同。
因子:性质与向量相同,但是代表一个分类的变量。
数组:K维的数据表,是有序的元素序列,将有限个类型相同的变量的集合命名,可以是数值也可以是数字。
矩阵:所有的数据必须是数值,表示数组的一组特殊形式。
数据框:可以每列填上不同的数据,只要某列长度相同。
时间序列:存储时间的一种格式。
列表:每一个元素中都可以填充不同的数据,可以填上向量、因子、数组、时间序列等,将大大小小不同的对象类型填充成列表。
创建对象的函数
细分类型
根据元素可以将对象细分成四种基本类型:数值型(numeric)、字符型(character)、复数型(complex)、逻辑型(logic)
一般来说,我们做数据分析时使用RStudio软件进行编写。
RStudio基本操作
熟悉RStudio的窗口
R语言的编辑器:可以在此处编写代码
控制台:实现代码交互环境,可以在此处执行代码
输出窗口:将执行代码后的结果呈现
对象生成操作
向量(vector)
vector(mode = "numeric",length=2)#长度为2的数值类型
> source('~/.active-rstudio-document', echo=TRUE)
> vector(mode = "numeric",length=2)
[1] 0 0
以下三个函数有几乎相同的结果(创建一个向量),并且只有一个参数为长度。
numeric(length=2)
logical(length=2)
character(length=2)
因子(facteor)
基本语法
levels:用来指定因子可能的水平(缺省值是向量x中互异的值)
labels:用来指定水平的名字
exclude:表示从向量x中剔除的水平值
factor(1:3)
factor(1:3,levels=1:5)
factor(1:3,labels=c("A","B","C") factor(1:5,exclude=4)
[1] 1 2 3
Levels: 1 2 3
##
[1] 1 2 3
Levels: 1 2 3 4 5
##
[1] A B C
Levels: A B C
##
[1] 1 2 3 5
Levels: 1 2 3 5
矩阵
> matrix(data=5,nr=2,nc=2)##表示二维2行2列数值全为5的数组
[,1] [,2]
[1,] 5 5
[2,] 5 5
> matrix(1:6,2,3,byrow=TRUE)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
数组
> array(1:3,c(2,4))
[,1] [,2] [,3] [,4]
[1,] 1 3 2 1
[2,] 2 1 3 2
> array(1:3,c(2,4,1))
, , 1
[,1] [,2] [,3] [,4]
[1,] 1 3 2 1
[2,] 2 1 3 2
> array(1:3,c(2,4,2))##最后一个数字控制第三个维度有多少个数
, , 1
[,1] [,2] [,3] [,4]
[1,] 1 3 2 1
[2,] 2 1 3 2
, , 2
[,1] [,2] [,3] [,4]
[1,] 3 2 1 3
[2,] 1 3 2 1
数据框:可以进行不同数组类型的组合,只要长度相同
> data.frame(n,m)
n m
1 10 35
2 10 10
``
data.frame(x,m)
x m
1 1 35
2 2 10
3 3 35
4 4 10
时间序列
> ts(1:49,frequency=12,start = c(1950,3))
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov
1950 1 2 3 4 5 6 7 8 9
1951 11 12 13 14 15 16 17 18 19 20 21
1952 23 24 25 26 27 28 29 30 31 32 33
1953 35 36 37 38 39 40 41 42 43 44 45
1954 47 48 49
Dec
1950 10
1951 22
1952 34
1953 46
1954
> ts(2:8,frequency=4,start = c(1950,2))#表示将每年分成四个季度,从1950年第二个季度开始,将2至8这些数依次填入
Qtr1 Qtr2 Qtr3 Qtr4
1950 2 3 4
1951 5 6 7 8
列表:
x<-1:4
> x
[1] 1 2 3 4
> y<-c("ab","cd")
> y
[1] "ab" "cd"
> m<-list(A=x,B=y)##将x和y两个对象合并成一个列表
> m
$A
[1] 1 2 3 4
$B
[1] "ab" "cd"
> names(m)##查询列表里面每个对象的名称
[1] "A" "B"