如何获取R中列表的每个项目的第n个元素

XR *_* SC 5 r list vector sublist

如果我们有一个列表,每个项目可以有不同的长度.例如:

l <- list(c(1, 2), c(3, 4,5), c(5), c(6,7))
Run Code Online (Sandbox Code Playgroud)

(为了清楚起见,我们将在列表"items"中调用对象,并在列表"elements"的对象中调用对象.)

我们如何提取,例如每个项目的第一个元素?在这里,我想提取:

1, 3, 5, 6
Run Code Online (Sandbox Code Playgroud)

然后每个项目的第二个元素的相同问题:

2, 4, NA, 7
Run Code Online (Sandbox Code Playgroud)

akr*_*run 11

我们可以使用创建函数 sapply

fun1 <- function(lst, n){
         sapply(lst, `[`, n)
   }
fun1(l, 1)
#[1] 1 3 5 6

fun1(l, 2)
#[1]  2  4 NA  7
Run Code Online (Sandbox Code Playgroud)

  • @XRSC 它是一个“?Extract”运算符,用于提取 data.frame/matrix 的行/列或向量的元素。更多详细信息,您可以从“?Extract”中获取 (2认同)