gpt4 book ai didi

r - 提取列表 R 中每个向量中的多个元素

转载 作者:行者123 更新时间:2023-12-03 00:50:13 25 4
gpt4 key购买 nike

我有以下列表,请说:

> a
[[1]]
[1] "C" "A" "C" "C" "U" "U" "G" "U" "C" "C" "U" "C" "A" "C" "G" "G" "U" "C"

[[2]]
[1] "G" "U" "A" "G" "C" "A" "C" "U" "A" "A" "A" "G" "U" "G" "C" "U" "U" "A"

我还有其他数字列表,它们对应于我想从 a(例如 b)中提取的位置索引:

> b
[[1]]
[1] 3 4 6 7 9 10 11 12

[[2]]
[1] 1 2 3 4 6 7 8 10

我想提取每个具有与列表 b 中的向量相对应的索引位置的字母,比如说,输出将类似于:

> c
[[1]]
[1] "C" "C" "U" "G" "C" "C" "U" "C"

[[2]]
[1] "G" "U" "A" "G" "A" "C" "U" "A"

我知道如何从列表中的每个向量中提取一个元素,比如说,我想从列表 a 中提取每个第一个元素(索引 1),所以我将应用下一个代码:

lapply(a, '[[', 1)

但是我怎样才能提取多个值?,如果在最后一个代码中 a 把 b 而不是“1”,我会得到一个错误......

Error in FUN(X[[i]], ...) : 
attempt to select more than one element in vectorIndex

我应该使用for循环吗?

最佳答案

你可以尝试:

mapply(function(x,y) x[y], a, b)

关于r - 提取列表 R 中每个向量中的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49837381/

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