【发布时间】:2019-07-16 09:38:47
【问题描述】:
我正在尝试根据不同的索引对列表对象中的值进行子集化。
我已经尝试过标准的子设置策略,例如 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