📅  最后修改于: 2023-12-03 15:09:07.947000             🧑  作者: Mango
在 R 中,可以使用以下几种方式将矩阵转换为列向量列表:
as.vector()
函数# 创建一个矩阵
mat <- matrix(1:9, nrow = 3)
# 将矩阵转换为列向量列表
col_vec_list <- as.vector(mat)
# 输出结果
col_vec_list
使用 as.vector()
函数将矩阵转换为列向量列表,简单直接。这种方式不过是将矩阵矢量化,得到的结果并不区分列和行。
c()
函数# 创建一个矩阵
mat <- matrix(1:9, nrow = 3)
# 将矩阵转换为列向量列表
col_vec_list <- c(mat)
# 输出结果
col_vec_list
使用 c()
函数将矩阵转换为列向量列表,同样简单直接。然而需要注意一点,使用 c()
函数得到的结果也是一个矢量,需要通过下标访问。
apply()
函数# 创建一个矩阵
mat <- matrix(1:9, nrow = 3)
# 将矩阵转换为列向量列表
col_vec_list <- apply(mat, 2, function(x) x)
# 输出结果
col_vec_list
使用 apply()
函数将矩阵转换为列向量列表,稍微有点复杂。其中 2
表示按列进行操作,function(x) x
表示对每一列返回该列本身。这种方式得到的结果将矢量化后区分了列和行。
melt()
函数# 加载 reshape2 库
library(reshape2)
# 创建一个矩阵
mat <- matrix(1:9, nrow = 3)
# 将矩阵转换为列向量列表
col_vec_list <- melt(mat)$value
# 输出结果
col_vec_list
使用 melt()
函数将矩阵转换为列向量列表,需要先加载 reshape2
库。这种方式得到的结果同样将矢量化后区分了列和行。
综上所述,以上是将矩阵转换为 R 中的列向量列表的几种方式。使用不同的方法可以根据需要得到不同的结果。