按列表中元素的名称对子列表进行筛选

3
如果我有一个这样的列表:
x = rnorm(10)
y = rnorm(10)
df = cbind(x,y)
mylist=list(trace=df)

我该如何按名称提取跟踪数据框?我已经尝试过
trace_df = data.frame(mylist[mylist=='trace'])

但是这个搜索是通过列表中的数据值等于"trace"而不是元素名为"list"来进行的。
我的想法是,我有一个由7或8个元素组成的大列表,它们的位置可能会改变。因此,"trace"可能在索引位置1、2或5。为了使我的代码更具可重复性,我想只搜索术语"trace",而不是按索引搜索。
2个回答

3
使用 mylist$tracemylist[['trace']] 将其提取出来。

2

如果只有一个元素,那么使用

mylist["trace"]

如果你想从列表中选择多个元素,则:

name = c("trace")

mylist[name]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接