如何将不同长度的向量存储到R中的矩阵中?
假设我有一个不同长度的向量列表,例如:如何将不同长度的向量存储到R中的矩阵中?,r,R,假设我有一个不同长度的向量列表,例如: listToMatrix <- list(c(1,2,3,4),c(2,15,6),c(9,1,4,6,2,5)) 问题是我如何将这个列表放入矩阵中?可以将空格保留为零,因为我想稍后对计算进行矢量化。我们可以使用librarystringi的stri_list2matrix。我们将输出转换为数字,并将维度更改为输出矩阵“m1” library(stringi) m1 <- stri_list2matrix(listToMatrix, byro
listToMatrix <- list(c(1,2,3,4),c(2,15,6),c(9,1,4,6,2,5))
问题是我如何将这个列表放入矩阵中?可以将空格保留为零,因为我想稍后对计算进行矢量化。我们可以使用librarystringi的stri_list2matrix。我们将输出转换为数字,并将维度更改为输出矩阵“m1”
library(stringi)
m1 <- stri_list2matrix(listToMatrix, byrow=TRUE, fill=0)
`dim<-`(as.numeric(m1), dim(m1))
# [,1] [,2] [,3] [,4] [,5] [,6]
# [1,] 1 2 3 4 0 0
# [2,] 2 15 6 0 0 0
# [3,] 9 1 4 6 2 5
你可以在列表上进行矢量化,这不是以矩阵格式存储数据的理由,从这个描述来看,你可能不应该以矩阵格式存储数据,但是长度通过向量化,我的意思是做简单的矩阵代数计算,而不是在我的数据集上使用apply/sapply/mapply。我刚刚意识到sapply会将它简化为一个矩阵,sapplylistToMatrix,`length