我有一个向量
a <- seq(from =1, to = 25, by = 2)
[1] 1 3 5 7 9 11 13 15 17 19 21 23 25
我想提取与向量中出现的 11 的值/s 重合的位置编号(坐标),我必须做什么? match 指出它在向量中的位置,但不提供坐标
match(a, 11)
[1] NA NA NA NA NA 1 NA NA NA NA NA NA NA
此外,我想使用从前面的示例中提取的坐标从另一个向量(类似坐标)中提取值。
最佳答案
match
确实为您提供了“第二个参数中第一个参数的(第一个)匹配位置”。如果在 match
调用中交换 11 和 'a',则会在 'a' 中获得 11 的(第一个)位置:
match(11, a)
# [1] 6
来自
?which
:“对于标量 a
[在您的情况下为 11],match(a, x)
等效于 min(which(x == a))
但效率更高”。但是,如果您想要所有匹配项的位置,请使用
which
。@Jilber 提供了如何使用位置(例如通过
which
或 match
获得)或用于子集化的逻辑向量的答案。您可以在此处阅读有关子集 here 的更多信息: ?Extract
。关于r - 在某个值的向量中的位置,应用提到的位置从另一个向量中提取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20792769/