R语言数据结构之矩阵、数组与数据框详解
在R语言中,矩阵、数组和数据框是常见的数据结构。本文将从定义、创建、访问和操作等方面详细讲解这些数据结构。
矩阵(matrix)
定义
矩阵是R语言中的一种二维数据结构,所有的元素都必须是同一类型的,并且矩阵中的行列数必须相同。矩阵可以使用matrix
函数创建。
创建
# 创建一个3行4列的矩阵,所有元素都为0
mat <- matrix(0, nrow = 3, ncol = 4)
可以看到,我们使用matrix
函数创建了一个3行4列的矩阵,其中所有的元素都为0。如果要创建非0的矩阵,可以将第一个参数设置为向量。
# 创建一个3行4列的矩阵,元素为1到12的顺序排列
mat <- matrix(1:12, nrow = 3, ncol = 4)
访问
矩阵中的元素可以使用行列索引进行访问。
# 获取第2行第3列的值
mat[2, 3]
# 输出 6
操作
我们可以对矩阵进行各种操作,比如转置、求和、按行列取最小值等等。
# 转置
t(mat)
# 求和
sum(mat)
# 按行求最小值
apply(mat, 1, min)
数组(array)
定义
数组是R语言中的一种多维数据结构,与矩阵类似,所有的元素都必须是同一类型的,并且每个维度的长度必须相同。数组可以使用array
函数创建。
创建
# 创建一个3行4列2层的数组,所有元素都为0
arr <- array(0, dim = c(3, 4, 2))
可以看到,我们使用array
函数创建了一个3行4列2层的数组,其中所有的元素都为0。如果要创建非0的数组,可以将第一个参数设置为向量。
# 创建一个3行4列2层的数组,元素为1到24的顺序排列
arr <- array(1:24, dim = c(3, 4, 2))
访问
数组中的元素可以使用多维索引进行访问。
# 获取第2行第3列第1层的值
arr[2, 3, 1]
# 输出 9
操作
我们可以对数组进行各种操作,比如转置、求和、按层取最小值等等。
# 转置
aperm(arr, c(3, 1, 2))
# 求和
sum(arr)
# 按层求最小值
apply(arr, 3, min)
数据框(data.frame)
定义
数据框是R语言中的一种二维数据结构,其中每一列可以是不同的数据类型。数据框可以使用data.frame
函数创建。
创建
# 创建一个3行4列的数据框
df <- data.frame(a = c(1, 2, 3), b = c("a", "b", "c"), c = c(TRUE, FALSE, TRUE), d = c(1.1, 2.2, 3.3))
可以看到,我们使用data.frame
函数创建了一个3行4列的数据框,其中每一列可以是不同的数据类型。
访问
数据框可以使用列索引或列名进行访问。
# 获取第2行第3列的值
df[2, 3]
# 获取c列的值
df$c
# 获取第1行第b列的值
df[1, "b"]
操作
我们可以对数据框进行各种操作,比如筛选、排序、计算新列等等。
# 筛选出c列为TRUE的行
subset(df, c)
# 按d列升序排序
df[order(df$d),]
# 计算a列和d列的和
df$sum <- df$a + df$d
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:R语言数据结构之矩阵、数组与数据框详解 - Python技术站