R的数据结构--数组

 

数组:可以认为数组是矩阵的扩展,它将矩阵扩展到2维以上。如果给定的数组是1维的则相当于向量,2维的相当于矩阵。

R语言中的数组元素的类型也是单一的,可以是数值型,逻辑型,字符型或复数型

参数解释

  array( data = NA, dim = length(data), dimnames = NULL)

  • data为创建数组的元素
  • dim为数组的维数,是数值型向量
  • dimnames是各维度中名称标签列表

数组的创建

一维数组

# 相当于1维的向量:1 2 3 4 5 6 7 8 9 10
arr1 <- array(1:10) 

二维数组

# 相当于2行5列的矩阵
arr2 <- array(1:10, dim=c(2,5))

三维数组

# 创建了一个3×4×2维的数组
arr3 <- array(1:24, dim=c(3,4,2)) 
"""
, , 1

     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

, , 2

     [,1] [,2] [,3] [,4]
[1,]   13   16   19   22
[2,]   14   17   20   23
[3,]   15   18   21   24
"""

数组取名

dim1 <- c("A1","A2","A3")
dim2 <- c("B1","B2","B3")
dim3 <- c("C1","C2")
arr4<-array(1:18, dim=c(3,3,2), dimnames = list(dim1, dim2, dim3))
"""
, , C1

   B1 B2 B3
A1  1  4  7
A2  2  5  8
A3  3  6  9

, , C2

   B1 B2 B3
A1 10 13 16
A2 11 14 17
A3 12 15 18
"""

  这里使用列表创建了数组各维度标签的名称,关于列表的相关问题,将会在后面进行介绍

数组元素的引用

# 获取单个元素的值,2行3列1维度
arr4[2,3,1]   # 8

# 获取2行1列所有维度的元素值
arr4[2,1,] 
"""
C1 C2 
 2 11 
"""

# 获取2行所有列所有维度的组合元素值
arr4[2,,] 
"""
   C1 C2
B1  2 11
B2  5 14
B3  8 17
"""

# 获取2列所有行所有维度所有组合元素值
arr4[,2,] 
"""
   C1 C2
A1  4 13
A2  5 14
A3  6 15
"""

# 通过水平名称的组合来获取元素值
arr4["A2","B3","C2"]   # 17

 

 

 

posted @ 2019-12-04 13:30  一心取信  阅读(592)  评论(0编辑  收藏  举报