R中的向量矩阵

tro*_*ood 5 arrays r matrix

是否有可能在R中创建向量矩阵?我的意思是这个矩阵的元素必须是向量.例如mat[1,3] == c(6,8,9)

我必须创建40x40矩阵,我需要手动填写它.

Rol*_*and 8

这不是一个matrix但是array:

myarray <- array(1:24, c(2,4,3))
myarray[1,3,]
#[1]  5 13 21
Run Code Online (Sandbox Code Playgroud)

  • 当然你可以用它.数组只是矩阵概念的更高维度扩展,并且以相同的方式或多或少地工作. (2认同)

Sac*_*amp 6

好吧,你可以在列表中添加维度,这样它就像一个矩阵,其中元素可以是你想要的任何东西,包括不同长度的矢量.例如:

foo <- as.list(numeric(2^2))
dim(foo) <- c(2,2)

# Assignment per element:
foo[[1,1]] <- 1:4
foo[[1,2]] <- 1:10
foo[[2,1]] <- "foo"
foo[[2,2]] <- list(foo)
Run Code Online (Sandbox Code Playgroud)

给你一个奇怪的对象:

> foo
     [,1]      [,2]      
[1,] Integer,4 Integer,10
[2,] "foo"     List,1    
Run Code Online (Sandbox Code Playgroud)

每个元素基本上是一个向量.尽管如此,这绝不是最好的方法.如果向量长度相同,则Roland描述的数组更合适.

  • 如果我是对的,第一行有一个可能会产生误导的错误.. 对于 2 的情况,它应该是 foo &lt;- as.list(numeric(2*2)) 结果是相同的,但对于其他任何情况它都是不同的... (2认同)