【发布时间】:2013-02-09 09:44:53
【问题描述】:
(我肯定在这个问题中使用了错误的术语,对此感到抱歉 - 我只是不知道用 R 术语描述这个问题的正确方法......)
我想创建异构对象的结构。尺寸不一定是矩形。在其他语言(如 C)中,我需要的可能只是“对象数组”。“对象”是指由不同成员组成的结构,即 R 中的列表 - 例如:
myObject <- list(title="Uninitialized title", xValues=rep(NA,50), yValues=rep(NA,50))
现在我想制作 100 个这样的对象,并且能够通过类似
的方式来称呼它们的成员for (i in 1:100) {myObject[i]["xValues"]<-rnorm(50)}
或
for (i in 1:100) {myObject[i]$xValues<-rnorm(50)}
我会很感激任何关于这件事在哪里描述的提示。
提前致谢!
【问题讨论】:
-
如果所有 100 个对象都属于同一类型,那么您可以使用
matrix。您可以在单个list中保存许多不同的矩阵。即,您将拥有一个list of matrices。如果对象的类型不同,您可以将它们存储在data.frame或list中,在这种情况下,您将拥有list of data.frames或list of lists。 -
如果尺寸总是矩形的(在你的情况下,100x50),并且内容总是同质的(在你的情况下,数字)然后创建一个 array/matrix 。如果您希望能够在单个列表上添加/删除/插入(或更改数据类型),请使用 list-of-lists。
标签: arrays r list matrix nested-lists