R等价的matlab"细胞矩阵"

use*_*093 3 matlab r

有谁知道如何在Matlab中进行R等效的单元格(2,2)?

在Matlab中,这会创建一个2x2"矩阵",其中每个单元格可以是任何类型的数据,如另一个矩阵或其他东西.

所以基本上,如果这是用户想要的,它可以是矩阵矩阵.

在R中有没有办法做到这一点?

MrF*_*ick 7

您可以使用创建此类对象

mm<-matrix(list(), 2, 2)
Run Code Online (Sandbox Code Playgroud)

但请注意索引运算符有点不同.要提取/分配单个单元格,您可以使用

mm[[1,1]]<-matrix(1:15, nrow=3)
mm[[1,2]]<-"hello"
mm[[2,1]]<-list(a=1, b=2)
mm[[2,2]]<-2
Run Code Online (Sandbox Code Playgroud)

注意"标准"矩阵[[ , ]]而不是典型[, ]的.仅使用一个[ , ]将返回您请求的元素列表,就像标准列表一样.

正如@joran所指出的那样,R中的大多数函数并不期望这种类型的对象,所以不要指望与矩阵一起工作的函数能够自动使用像这样的列表矩阵.