有人知道如何在R中实现Matlab中cell(2,2)的功能吗?
在Matlab中,这将创建一个2x2的“矩阵”,其中每个单元格可以是任何类型的数据,例如另一个矩阵或其他内容。
因此,如果用户需要的话,它可以是一个矩阵的矩阵。
是否有办法在R中实现这一点?
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
[, ]
不同,使用[[ , ]]
。仅使用一个[ , ]
将返回您请求的元素列表,就像标准列表一样。
matrix(list(matrix(NA,2,2),matrix(1,2,2),1:5,1:5),2,2)
,虽然您可能不会发现 R 被设计成以这种方式明智地使用,就是许多其他 R 函数可能没有被编写为期望有人创建这样的矩阵。 - joran