是否有必要使r在列表中“起作用”?即假设当前环境是某个列表?
我有一些代码,其中我操纵的所有对象都在一个列表中,称为“ mylist”。
有没有办法告诉我要在mylist中查找所有对象,而不是编写
mylist$object
我可以写
object
r会自动在mylist中查找它吗?
我是一位相当新的用户,如果我滥用任何术语,我深表歉意。
答案 0 :(得分:1)
您要寻找with()
吗?
例如,
mylist <- list(object = c(1:10),
obj2 = c("a", "b"))
with(mylist, sum(object))
[1] 55
with(mylist, obj2)
[1] "a" "b"
# etc
如果没有,听起来您实际上可能不想将对象作为元素存储在列表中;相反,最好在全局环境中创建单个对象以供参考。
如果您有多个列表,每个列表包含相同类型的对象,并且要在这些列表上执行相同类型的任务,那么现在该考虑编写函数了。即使使用函数,您仍需要将这些组件拆开(或将函数传递给with()
!),以便能够通过其名称(例如object
或{{ 1}})。
在R中阅读列表和环境可能会有所帮助。为此,有一些很好的资源:
(列表)-http://rforpublichealth.blogspot.com/2015/03/basics-of-lists.html