有没有人知道如何在Matlab中使用R等效的单元格(2,2)?
在Matlab中,这会创建一个2x2"矩阵"其中每个单元格可以是任何类型的数据,如另一个矩阵或其他东西。
所以基本上,它可以是矩阵矩阵,如果这是用户想要的。
在R中有没有办法做到这一点?
答案 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中的大多数函数并不期望这种类型的对象,所以不要指望使用矩阵的函数能够自动使用像这样的列表矩阵