R等价的matlab“细胞矩阵”

时间:2014-08-12 19:09:04

标签: r matlab

有没有人知道如何在Matlab中使用R等效的单元格(2,2)?

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

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

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

1 个答案:

答案 0 :(得分:7)

您可以使用

创建此类对象
mm<-matrix(list(), 2, 2)

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

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

请注意[[ , ]]而非典型[, ]的&#34;标准&#34;矩阵。仅使用一个[ , ]将返回您请求的元素列表,就像标准列表一样。

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