您好,我想知道是否有办法将矢量存储到数组或矩阵中。 例如,
array1<-array(dim=c(1,2))
vector1<-as.vector(1:5)
vector2<-as.vector(6:10)
array1[1,1]<-vector1
array1[1,2]<-vector2
所以当我打电话给
时array1[1,1]
我会收到
[1] 1 2 3 4 5
我已经尝试过做我上面做的事情以及我得到的错误
number of items to replace is not a multiple of replacement length
有没有办法解决这个问题?
另外,我面临的问题是我不知道矢量长度,矢量也可能有不同的长度。
即,向量1的长度可以是6,向量2的长度可以是7.
谢谢!
答案 0 :(得分:4)
尝试使用列表:
my_list <- list()
my_list[[1]] <- c(1:5)
my_list[[2]] <- c(6:11)
列表允许您存储不同长度的矢量。可以通过寻址列表元素来检索向量:
> my_list[[1]]
#[1] 1 2 3 4 5
答案 1 :(得分:2)
您可以使用列表矩阵:
m <- matrix(list(), 2, 2)
m[1,1][[1]] <- 1:2
m[1,2][[1]] <- 1:3
m[2,1][[1]] <- 1:4
m[2,2][[1]] <- 1:5
m
# [,1] [,2]
#[1,] Integer,2 Integer,3
#[2,] Integer,4 Integer,5
m[1, 2]
#[[1]]
#[1] 1 2 3
m[1, 2][[1]]
#[1] 1 2 3