接前面的视频教程:
生信人的R语言视频教程-语法篇-第一章:与R的第一次相亲
生信人的R语言视频教程-语法篇-第二章:与R语言的第一次约会(R语言安装和下载)
生信人的R语言视频教程-语法篇-第二章:与R的第二次约会(RStudio的使用教程)
生信人的R语言视频教程-语法篇-第三章:数行天下(1)-R中的数据——从存储角度划分
生信人的R语言视频教程-语法篇-第三章:数行天下(2)-R中的数据——从结构角度划分(向量)
生信人的R语言视频教程-语法篇-第三章:数行天下(3)-R中的数据——从结构角度划分(矩阵)
本文:生信人的R语言视频教程-语法篇-第三章:数行天下(4)-R中的数据——从结构角度划分(数组)
数组(array)与矩阵类似,但是维度可以大于2。数组可通过array函数创建,形式如下:
array(data = NA, dim = length(data), dimnames = NULL)
其中data包含了数组中的数据,dim是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表。
下面将创建的每两个3×3矩阵的数组,具有3行3列。
1.数组的创建
# 创建两个不同长度的向量vector1 vector2 # 把这些向量作为数组的输入result
2.命名列和行
我们可以通过使用dimnames参数给予名称添加到数组中的行,列和矩阵。
> cname = c("COL1","COL2","COL3")> rname = c("ROW1","ROW2","ROW3")> mat c(> array(c(vector1,vector2),dim=c(3,3,2),dimnames = list(rname,cname,mat)), , Matrix1 COL1 COL2 COL3ROW1 5 10 13ROW2 9 11 14ROW3 3 12 15, , Matrix2 COL1 COL2 COL3ROW1 5 10 13ROW2 9 11 14ROW3 3 12 15
3.访问数组元素访问数组是用[]索引
result =array(c(vector1,vector2),dim=c(3,3,2),dimnames = list(rname,cname,mat))# 打印数组第二个矩阵的第三行result[3,,2]# 打印第1矩阵的第1行和第3列中的元素。result[1,3,1]# 打印第二个矩阵result[,,2]
4.操纵数组元素
array1 c(vector1,vector2),dim=array1[1,1,1]