📅  最后修改于: 2023-12-03 15:19:54.226000             🧑  作者: Mango
R编程语言是一种统计分析和数据可视化工具,它包含了许多内置的数据结构,其中最常见且常常使用的是数组和矩阵。
数组是用于存储多个相同数据类型的元素的数据结构。在R中,可以通过array
函数创建数组,语法为:
my_array <- array(data, dim = c(dim1, dim2, dim3))
其中,data
表示数组中要存储的数据,可以是向量或另一个数组;dim1
、dim2
和dim3
表示数组的维度,可以是任何整数值。
下面是一个创建三维数组的示例:
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
表示矩阵中要存储的数据,可以是向量或另一个数组或矩阵;rows
和cols
表示矩阵的行数和列数,可以是任何整数值。
下面是一个创建矩阵的示例:
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。
可以使用nrow
和ncol
函数来获取矩阵的行数和列数:
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编程语言中最常用的数据结构之一。本文通过实例介绍了如何使用array
和matrix
函数创建数组和矩阵,如何访问数组和矩阵中的元素,以及如何执行一些常见的操作。