数组
创建数组array()
array(向量名,维度说明,dimnames = list(维名称列表))
> a = c(1:60)
> dim1 = c("R1","R2","R3","R4") #分别给3个维度命名
> dim2 = c("C1","C2","C3","C4","C5")
> dim3 = c("T1","T2","T3")
> a = array(a,c(4,5,3),dimnames = list(dim1,dim2,dim3))
> a
, , T1
C1 C2 C3 C4 C5
R1 1 5 9 13 17
R2 2 6 10 14 18
R3 3 7 11 15 19
R4 4 8 12 16 20
, , T2
C1 C2 C3 C4 C5
R1 21 25 29 33 37
R2 22 26 30 34 38
R3 23 27 31 35 39
R4 24 28 32 36 40
, , T3
C1 C2 C3 C4 C5
R1 41 45 49 53 57
R2 42 46 50 54 58
R3 43 47 51 55 59
R4 44 48 52 56 60
列表
创建列表list()
创建列表的函数是list,基本书写格式是:
list(成分1=对象名1, 成分名2=对象名2,……)
可以通过names函数显示各个成分名
a = c(1,2,3) #向量
b = matrix(nrow=5,ncol=2) #矩阵
b[,1] = seq(1,10,2)
b[,2] = seq(10,1,-2)
c = array(1:60,c(4,5,3)) #数组
d = list(L1=a, L2=b, L3=c) #列表
names(d) #显示列表d各个成分名
[1] "L1" "L2" "L3"
str(d)
List of 3
$ L1: num [1:3] 1 2 3
$ L2: num [1:5, 1:2] 1 3 5 7 9 10 8 6 4 2
$ L3: int [1:4, 1:5, 1:3] 1 2 3 4 5 6 7 8 9 10 ...
is.list(d)
[1] TRUE
列表在数据组织的时候不常用,但它却是R组织各类数据分析结果的重要方式。
访问列表
$符号或双括号[[]],与数据框完全相同。
> d$L1
[1] 1 2 3
> d[["L2"]]
[,1] [,2]
[1,] 1 10
[2,] 3 8
[3,] 5 6
[4,] 7 4
[5,] 9 2
> d[[2]]
[,1] [,2]
[1,] 1 10
[2,] 3 8
[3,] 5 6
[4,] 7 4
[5,] 9 2
本文参考:《R语言数据挖掘》第2版 薛薇 编著
网友评论