R 将向量保存到矩阵/数据帧值中
在R中,有没有一种方法可以将整个向量保存为矩阵或数据帧的一个值,而不必首先将其组合为单个值 例如,如果我有一个向量R 将向量保存到矩阵/数据帧值中,r,vector,matrix,R,Vector,Matrix,在R中,有没有一种方法可以将整个向量保存为矩阵或数据帧的一个值,而不必首先将其组合为单个值 例如,如果我有一个向量 pk<-c(0.021477,0.021114,0.022794,0.014858,0.009690,0.003255,0.002715) pk你当然可以在矩阵的每个元素中放置一个向量。试试像这样的东西 tst<-matrix(data=list(),nrow=4,ncol=4) tst[[1,1]] <- pk #note double square brac
pk<-c(0.021477,0.021114,0.022794,0.014858,0.009690,0.003255,0.002715)
pk你当然可以在矩阵的每个元素中放置一个向量。试试像这样的东西
tst<-matrix(data=list(),nrow=4,ncol=4)
tst[[1,1]] <- pk #note double square brackets needed for assignment
但是元素可以用明显的方式提取
> 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
如果向量的长度不同,我可以看到两种处理方法。要么将长度四舍五入到最大值,然后将其放入数组中
tst<- array(data=NA, dim=c(4,4,maxLen))
tst[1,1,1:length(pk)] <- pk
tst您还可以使用“原样”I
函数,并将pk
制作为一个1元素列表(包含向量):
pk
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
> 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
tst<- array(data=NA, dim=c(4,4,maxLen))
tst[1,1,1:length(pk)] <- pk
pk <- c(0.021477,0.021114,0.022794,0.014858,0.009690,0.003255,0.002715)
dat <- data.frame(a <- I(list(pk)))
str(dat)
## 'data.frame': 1 obs. of 1 variable:
## $ a....I.list.pk..:List of 1
## ..$ : num 0.02148 0.02111 0.02279 0.01486 0.00969 ...
## ..- attr(*, "class")= chr "AsIs"
dat[1,1]
## [[1]]
## [1] 0.021477 0.021114 0.022794 0.014858 0.009690 0.003255 0.002715