gpt4 book ai didi

r - 不同索引的子集列表

转载 作者:行者123 更新时间:2023-12-05 00:10:36 25 4
gpt4 key购买 nike

我正在尝试根据不同的索引从列表对象中对值进行子集化。

我已经尝试了标准的子设置策略,比如 lapply。但是,它们仅适用于固定索引。例如,子设置每个列表元素的第一个值。然而,我想在每个列表元素中选择一个不同的索引位置。

考虑以下列表:

mylist<-list(c("25","0","33"),c("50","1"),c("100","2","3", "45"),c("12", "54"))


我可以使用 lapply 轻松地为每个列表元素中的第一个值设置子集:
lapply(mylist,"[", 1)

这给了我每个列表元素中的第一个值。但是,请考虑这样一种情况:我想要第一个元素的第二个值、第二个元素的第一个值、第三个元素的第三个值等。
换句话说,我想通过不同的索引进行子集化,例如:
var.index <- c(2,1,3,1)

所以我收到最终值
c(0,50,3,12)

有任何想法吗?谢谢你的帮助。

最佳答案

您可以使用 mapply使用它您可以按元素的顺序遍历多个有序集合。

mapply(function(x, y) x[y], mylist, var.index)
# [1] "0" "50" "3" "12"

关于r - 不同索引的子集列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57054309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com