首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将向量存储在r中的矩阵中,向量长度未知

将向量存储在r中的矩阵中,向量长度未知
EN

Stack Overflow用户
提问于 2016-09-19 01:32:17
回答 2查看 2.2K关注 0票数 4

嗨,我想知道是否有一种方法可以将向量存储到数组或矩阵中。例如,

代码语言:javascript
复制
array1<-array(dim=c(1,2))
vector1<-as.vector(1:5)
vector2<-as.vector(6:10)
array1[1,1]<-vector1
array1[1,2]<-vector2

这样,当我调用

代码语言:javascript
复制
array1[1,1]

我会收到

代码语言:javascript
复制
[1] 1 2 3 4 5

我尝试过执行上面的操作,但得到的错误是

代码语言:javascript
复制
 number of items to replace is not a multiple of replacement length

有没有办法绕过这个问题?

另外,我面临的问题是我不知道向量的长度,而且向量也可能有不同的长度。

即向量1的长度可以是6,向量2的长度可以是7。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2016-09-19 02:03:15

尝试使用列表:

代码语言:javascript
复制
my_list <- list()
my_list[[1]] <- c(1:5)
my_list[[2]] <- c(6:11)

列表允许您存储不同长度的向量。可以通过寻址列表的元素来检索向量:

代码语言:javascript
复制
> my_list[[1]]
#[1] 1 2 3 4 5
票数 4
EN

Stack Overflow用户

发布于 2016-09-19 02:23:16

您可以使用列表矩阵:

代码语言:javascript
复制
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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39560641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档