如何获取列表中每一项的第 n 个元素,它本身就是一个未知长度的向量 [英] How to get the nth element of each item of a list, which is itself a vector of unknown length

查看:16
本文介绍了如何获取列表中每一项的第 n 个元素,它本身就是一个未知长度的向量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

If we have a list, and each item can have different length. For example:

l <- list(c(1, 2), c(3, 4,5), c(5), c(6,7))

(为了清楚起见,我们将列表中的对象称为items",将列表中的对象称为元素".)

(In order to be clear, we will call objects in a list "items", and objects in the objects of list "elements".)

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

How can we extract, for example the first element of each item? Here, I want to extract:

1, 3, 5, 6

然后对每个项目的第二个元素提出同样的问题:

Then same question for the second element of each item:

2, 4, NA, 7

推荐答案

我们可以使用 sapply

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

fun1(l, 2)
#[1]  2  4 NA  7

这篇关于如何获取列表中每一项的第 n 个元素,它本身就是一个未知长度的向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆