一、向量
定义:用来存储数值型、字符型或逻辑型数据的一维数组。
数学定义:具有大小和方向的量
特点:单个向量中的数据必须是相同类型(数值型、字符型、逻辑型)
标量:只含一个元素的向量,用于保存常量,如f<-3,g<-"TS"
·创建
函数c()
x<-c(1,2,3,4) #x num[1:4] 1 2 3 4
x<-c(1:4) #x int[1:4] 1 2 3 4
y<-c(x,x,x) #y int[1,12]1 2 3 4 1 2 3 4 1 2 ,,,
y<-rep(x,times=3) #同上
y<-rep(x,times=3,each=2) #y int[1,24]1 1 2 2 3 3 4 4 1 1 ,,,,
·创建·等差数列
z=seq(from=,to=,by=,length.out=)
z=seq(from=1,to=6,by=2) #z [1,3]1 3 5
·访问单个元素
通过在方括号中给定元素所处位置的数值
如:
a[c(2,4)]:访问向量a中第二个和第四个元素
> z[c(2)]
[1] 3
二、矩阵(matrix)
定义:用来存储数值型、字符型或逻辑型数据的二维数组
数学定义:一个按照长方阵列排序的复数或实数集合
特点:每个元素必须是相同类型(数值型、字符型、逻辑型)
·创建
·函数matrix()
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
> y<-matrix(1:20,5,4)#按列填充,5x4
> y
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
·命名行列(标签)
dimnames(x) <- list(row_names, col_names),按列先
> mdat <- matrix(c(1,2,3, 11,12,13), nrow = 2, ncol = 3, byrow = TRUE,
+ dimnames = list(c("row1", "row2"),
+ c("C.1", "C.2", "C.3")))
> mdat
C.1 C.2 C.3
row1 1 2 3
row2 11 12 13
> b<-c("B1","B2")
> p<-c("F","M")
> z<-matrix(c(1,3,5,7),2,2,byrow=TRUE,dimnames=list(p,b))
> z
B1 B2
F 1 3
M 5 7
·访问行、列、单个元素
使用下标,先行
> x<-matrix(1:10,nrow=2)
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> x[2,]
[1] 2 4 6 8 10
> x[,2]
[1] 3 4
> x[2,2]
[1] 4
> x[2,c(3,4)] #访问第二行,第三、四列的元素
[1] 6 8