【发布时间】:2021-09-15 01:58:24
【问题描述】:
[可能这个问题在这里已经有了答案,但我没有找到答案,也是因为我在简明扼要的表述上有些困难。感谢您提出重新制定问题标题的建议。]
我有
- 具有不同行数的矩阵列表,
- 与列表同名的整数值向量,
- 出现在上述列表和向量中的名称列表,
- 一个整数变量,告诉从这些矩阵中选择哪一列。
让我们构建一个工作示例:
mynames <- c('a', 'c')
mylist <- list(a=matrix(1:4,2,2), b=matrix(1:6,3,2), c=matrix(1:8,4,2))
myvec <- 2:4
names(myvec) <- names(mylist)
chooseCol <- 2
我想构造一个向量,其中包含来自myvec 的行和列chooseCol 的元素,用于出现在mynames 中的名称。我的尝试是
sapply(mynames, function(elem){mylist[[elem]][myvec[elem], chooseCol]})
正确产生
a c
4 8
但我想知道是否有更快的base(非tidyverse)方法来执行此操作。
同样重要或相关:mylist 和 myvec 中的名称顺序可能不同,因此我不能依赖位置索引。
【问题讨论】: