R语言 如何把矩阵转换为列向量列表
在这篇文章中,我们将讨论如何在R编程语言中把一个给定的矩阵转换成列向量的列表。要做到这一点,我们将采取矩阵的每一列,并将该列存储在一个列表中,最后打印该列表。
这可以通过以下方式完成
- 使用split()函数
- 使用 list() 与 data.frame()
方法1:使用split()函数
在这个例子中,我们使用split()函数将一个给定的矩阵转换成R中的列向量列表。
- split()函数被用来根据我们的要求分割数据。
- split()函数的参数是数据本身,另一个参数是rep()函数。
- rep()函数用于复制数据,在rep()函数中,我们给出一个参数,即nrow(),这样,序列就会逐行生成。
- 在nrow()函数中,我们把数据作为一个参数。”each = nrow() “被用来对每一行重复这个过程。
例子 。
# create matrix
M = matrix(100:112, ncol=3)
# print the matrix
display(M)
# create matrix to list off column vector
l = split(M, rep(1:ncol(M), each = nrow(M)))
# print the list
display(l)
输出 。
图1:矩阵
图2:矩阵转换为列向量列表
方法2:使用list()函数
在这个例子中,我们使用list()函数将一个给定的矩阵转换为R中的列向量列表。
- list()函数是和 “as. “命令一起使用的。该命令用于将对象转换为列表,对象可以是任何类型的数据结构,如数据框、矩阵、向量等。
- list()函数中的参数是as.data.frame。所以基本上,我们在这里做的是什么?首先,我们通过使用 as.data.frame() 将矩阵转换为数据框,然后将数据框转换为列表,最后,打印该列表。
- 在我们的例子中,as.list()把数据框架的每一列都放进一个列表中,并把这个列表存储为 “l”,然后打印出l。
# creating the matrix
M = matrix(100:112, ncol = 3)
# print the matrix
display(M)
# as.list() is used to convert an object into list
# as.data.frame() is used to convert as object into
# data frame M is converted into the data frame then
# that data frame is converted into the list
l<-as.list(as.data.frame(M))
# print the list
display(l)
输出 。
图3:矩阵转换为列向量列表