1

R 有点新,我在访问我放在列表中的对象时遇到了一些问题。

我在这样的列表中创建我的对象:

myObjects <- vector("list", P)
for(i in 1:10){
  myObjects[[i]] <- new.myObject()
}

然后我想访问我在代码中创建的一些方法,所以我必须像这样访问它们:

myObjects[1]@myMethod

但是,当我这样做时,我收到错误:错误:尝试从没有插槽的基本类(“列表”)的对象中获取插槽“myMethod”

当我只有 1 个对象时,我的代码可以正常工作,但是在将其放入列表后,我不确定如何将其从列表中取出。我知道 R 经常将事物处理为“大小为 1 的列表”,但它在这里对我不起作用。有没有办法将对象从列表中取出,而不是包含我的对象的大小为 1 的列表?

4

1 回答 1

1

[运算符为您提供一个子列表:myObjects[1]是长度为 1 的列表。

[[是获取列表项的运算符:myObjects[[1]]是列表中的第一项。

myObjects[[1]]@myMethod在这里应该工作的也是如此。

于 2013-11-01T00:29:09.173 回答