将向量保存到矩阵/数据帧值中

use*_*420 5 r vector matrix

在R中,是否有一种方法可以将整个矢量保存为矩阵或数据帧的一个值,而不必先将其组合为单个值?

例如,如果我有一个向量。

pk<-c(0.021477,0.021114,0.022794,0.014858,0.009690,0.003255,0.002715)
Run Code Online (Sandbox Code Playgroud)

和矩阵

tst<-matrix(data=NA,nrow=4,ncol=4)
Run Code Online (Sandbox Code Playgroud)

无论如何,例如。

tst[1,1]<-pk
Run Code Online (Sandbox Code Playgroud)

我知道我可以将向量粘贴在一起,但是我想知道是否有避免这种情况的方法?这是效率问题,因为实际矩阵为33427 x 33427,每个向量的长度约为300个值,我需要对矩阵中的每个值进行进一步的分析。我希望找到一种加快分析速度的方法。

Mif*_*iff 5

您当然可以在矩阵的每个元素中放置一个向量。尝试类似

tst<-matrix(data=list(),nrow=4,ncol=4)
tst[[1,1]] <- pk #note double square brackets needed for assignment
Run Code Online (Sandbox Code Playgroud)

它不会“很好地”打印

tst
     [,1]      [,2] [,3] [,4]
[1,] Integer,5 NULL NULL NULL
[2,] NULL      NULL NULL NULL
[3,] NULL      NULL NULL NULL
[4,] NULL      NULL NULL NULL
Run Code Online (Sandbox Code Playgroud)

但是可以通过显而易见的方式提取元素

> tst[1,1]
[[1]]
[1] 0.021477 0.021114 0.022794 0.014858 0.009690 0.003255 0.002715
#note list

> tst[[1,1]]
[1] 0.021477 0.021114 0.022794 0.014858 0.009690 0.003255 0.002715
#original vector
Run Code Online (Sandbox Code Playgroud)