📜  R编程中的数组与矩阵(1)

📅  最后修改于: 2023-12-03 15:19:54.226000             🧑  作者: Mango

R编程中的数组与矩阵

R编程语言是一种统计分析和数据可视化工具,它包含了许多内置的数据结构,其中最常见且常常使用的是数组和矩阵。

数组

数组是用于存储多个相同数据类型的元素的数据结构。在R中,可以通过array函数创建数组,语法为:

my_array <- array(data, dim = c(dim1, dim2, dim3))

其中,data表示数组中要存储的数据,可以是向量或另一个数组;dim1dim2dim3表示数组的维度,可以是任何整数值。

下面是一个创建三维数组的示例:

my_data <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
my_array <- array(my_data, dim = c(3, 2, 2))

上面的代码创建了一个3x2x2的数组,其中第一个维度有3个元素,第二个维度有2个元素,第三个维度有2个元素。

可以使用dim函数来获取数组的维度:

dim(my_array)
# output: [1] 3 2 2

可以使用[]操作符来访问数组中的元素。注意,在R中,数组的索引是从1开始的,而不是从0开始的,在三维数组中,可以同时指定三个索引,例如:

my_array[1, 2, 1]
# output: [1] 2
矩阵

矩阵是数组的一种特殊形式,它只有两个维度,并且可以用于数学运算。在R中,可以通过matrix函数创建矩阵,语法为:

my_matrix <- matrix(data, nrow = rows, ncol = cols)

其中,data表示矩阵中要存储的数据,可以是向量或另一个数组或矩阵;rowscols表示矩阵的行数和列数,可以是任何整数值。

下面是一个创建矩阵的示例:

my_data <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
my_matrix <- matrix(my_data, nrow = 3, ncol = 3)

上面的代码创建了一个3x3的矩阵,其中第一行的元素为1、2、3,第二行的元素为4、5、6,第三行的元素为7、8、9。

可以使用nrowncol函数来获取矩阵的行数和列数:

nrow(my_matrix)
# output: [1] 3

ncol(my_matrix)
# output: [1] 3

可以使用[]操作符来访问矩阵中的元素。可以同时指定行索引和列索引,例如:

my_matrix[1, 2]
# output: [1] 2

矩阵也支持一些特殊的操作符,例如转置运算符T

t(my_matrix)
# output:
#      [,1] [,2] [,3]
# [1,]    1    4    7
# [2,]    2    5    8
# [3,]    3    6    9

也支持一些常见的线性代数操作,例如矩阵乘法:

my_matrix1 <- matrix(c(1, 2, 3, 4), nrow = 2)
my_matrix2 <- matrix(c(5, 6, 7, 8), nrow = 2)
my_result <- my_matrix1 %*% my_matrix2

上面的代码演示了如何将两个2x2的矩阵相乘。

总结

数组和矩阵是R编程语言中最常用的数据结构之一。本文通过实例介绍了如何使用arraymatrix函数创建数组和矩阵,如何访问数组和矩阵中的元素,以及如何执行一些常见的操作。