R语言 数组与矩阵
数据结构是在计算机中组织数据的一种特殊方式,以便能够有效地使用它。这个想法是为了减少不同任务的空间和时间的复杂性。R编程中的数据结构是持有多个值的工具。R中两个最重要的数据结构是数组和矩阵。
R语言中的数组
数组是R语言中的数据存储对象,包含多于或等于一个维度。数组只能包含单一的数据类型。 array() 函数是一个内置的函数,它将输入作为一个向量,并根据 dim 参数来排列它们。数组是一个可迭代的对象,其中的数组元素被单独索引、访问和修改。对数组的操作可以用类似的结构和尺寸进行。一维数组在R中被称为向量,二维数组被称为矩阵。
语法 :
array(array1, dim = c (r, c, m), dimnames = list(c.names, r.names, m.names))
参数 :
array1 : 一个值的向量
dim : 包含矩阵的数量,m的指定行数和列数
dimnames : 包含各维的名称
例子 :
# R program to illustrate an array
# creating a vector
vector1 <- c("A", "B", "C")
# declaring a character array
uni_array <- array(vector1)
print("Uni-Dimensional Array")
print(uni_array)
# creating another vector
vector <- c(1:12)
# declaring 2 numeric multi-dimensional
# array with size 2x3
multi_array <- array(vector, dim = c(2, 3, 2))
print("Multi-Dimensional Array")
print(multi_array)
输出:
[1] "Uni-Dimensional Array"
[1] "A" "B" "C"
[1] "Multi-Dimensional Array"
, , 1
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
, , 2
[,1] [,2] [,3]
[1,] 7 9 11
[2,] 8 10 12
R中的矩阵
R中的矩阵是一个类似表格的结构,由排列在固定数量的行和列中的元素组成。所有的元素都属于一个单一的数据类型。R包含一个内置的函数 matrix() 来创建一个矩阵。矩阵的元素可以通过提供行和列的索引来访问。算术运算、加法、减法和乘法都可以在具有相同维度的矩阵上进行。矩阵可以很容易地转换为数据框架CSV。
语法 :
matrix(data, nrow, ncol, byrow)
参数 :
data :包含类似数据类型元素的向量。
nrow :行数。
ncol :列数。
byrow :默认情况下,矩阵是按列的顺序排列。所以这个参数决定如何安排矩阵
例如:
# R program to illustrate a matrix
A = matrix(
# Taking sequence of elements
c(1, 2, 3, 4, 5, 6, 7, 8, 9),
# No of rows and columns
nrow = 3, ncol = 3,
# By default matrices are
# in column-wise order
# So this parameter decides
# how to arrange the matrix
byrow = TRUE
)
print(A)
输出:
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
数组与矩阵
数组 | 矩阵 |
---|---|
数组可以包含大于或等于1个维度。 | 矩阵在一个类似表格的结构中包含2个维度。 |
阵列是一种同质的数据结构。 | 矩阵也是一个同质的数据结构。 |
它是一个安排在指定维度的奇异向量。 | 它由多个等长的向量堆叠在一个表格中组成。 |
array()函数可以通过指定第三维为1来创建矩阵。 | 然而,matrix()函数最多可以用来创建2维数组。 |
数组是矩阵的超集。 | 矩阵是一个子集,是数组的特例,其维度为2。 |
有限的基于集合的操作集。 | 可以进行广泛的集合操作。 |
大多数情况下,用于存储数据。 | 大多数情况下,矩阵是用于数据转换的。 |