List 通过函数参数访问R列表元素

List 通过函数参数访问R列表元素,list,r,syntax,List,R,Syntax,我有一个R列表,如下所示 > str(prices) List of 4 $ ID : int 102894616 $ delay: int 8 $ 47973 :List of 12 ..$ id : int 47973 ..$ index : int 2 ..$ matched: num 5817 $ 47972 :List of 12 .. 显然,我可以通过价格$“47973”$id访问任何元素 但是,我如何编写

我有一个R列表,如下所示

> str(prices)
List of 4
 $ ID   : int 102894616
 $ delay: int 8
 $ 47973      :List of 12
  ..$ id       : int 47973
  ..$ index        : int 2
  ..$ matched: num 5817
 $ 47972      :List of 12
..
显然,我可以通过价格$“47973”$id访问任何元素

但是,我如何编写一个函数来参数化对该列表的访问?例如,具有签名的访问函数:

access <- function(index1, index2) { .. }

这看起来很琐碎,但我无法编写这样的函数。感谢您的指点。

使用
'[['
而不是
'$'
似乎可以:

prices <- list(
    `47973` = list( id = 1, matched = 2))

access <- function(index1, index2) prices[[index1]][[index2]]
access("47973","matched")

prices您可以利用
[[
接受递归使用的向量这一事实:

prices <- list(
    `47973` = list( id = 1, matched = 2))

prices[[c("47973", "matched")]]
# 2

价格太好了,我开始觉得没办法了。
prices <- list(
    `47973` = list( id = 1, matched = 2))

prices[[c("47973", "matched")]]
# 2