Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将不同长度的向量存储到R中的矩阵中?_R - Fatal编程技术网

如何将不同长度的向量存储到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