首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表/向量索引列表

列表/向量索引列表
EN

Stack Overflow用户
提问于 2016-08-24 09:22:08
回答 1查看 47关注 0票数 2

数据

代码语言:javascript
复制
lst <- list(1, 1:3, 2:4)
ind <- c(1, 2, 2)

问题

我可以保证length(ind) == length(lst),现在我想得到lst的第一个元素的第一个元素,然后是第二个元素的第二个元素,最后是第三个元素的第二个元素。

有了一个循环,我可以做一些类似的事情

代码语言:javascript
复制
sapply(seq_along(ind), function(i) lst[[i]][[ind[i]]])

所以我的问题是我是否需要循环,还是有任何我不知道的智能索引技术?问题的背景是,我给人的印象是,我没有充分利用R's功能,用智能索引来完成不可思议的工作(比如用另一个矩阵索引一个矩阵)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-24 09:23:48

我们可以使用mapply根据'ind‘中的索引得到'lst’的对应元素。

代码语言:javascript
复制
mapply(`[`, lst, ind)
#[1] 1 2 3
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39119294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档