gpt4 book ai didi

r - 是否有 R 函数用于查找向量中元素的索引?

转载 作者:行者123 更新时间:2023-12-03 04:01:28 24 4
gpt4 key购买 nike

在 R 中,我有一个元素 x 和一个向量 v。我想找到 v 中等于 x 的元素的第一个索引。我知道执行此操作的一种方法是:which(x == v)[[1]],但这似乎效率很低。有没有更直接的方法呢?

对于奖励积分,如果 x 是向量,是否有一个函数可以工作?也就是说,它应该返回一个索引向量,指示 x 每个元素在 v 中的位置。

最佳答案

函数 match 适用于向量:

x <- sample(1:10)
x
# [1] 4 5 9 3 8 1 6 10 7 2
match(c(4,8),x)
# [1] 1 5

match 仅按照您的请求返回匹配项的第一次遇到。它返回第一个参数中的值在第二个参数中的位置。

对于多重匹配,%in% 是最佳选择:

x <- sample(1:4,10,replace=TRUE)
x
# [1] 3 4 3 3 2 3 1 1 2 2
which(x %in% c(2,4))
# [1] 2 5 9 10

%in% 返回一个与第一个参数一样长的逻辑向量,如果可以在第二个参数中找到该值,则返回 TRUE;如果可以在第二个参数中找到该值,则返回 FALSE 否则。

关于r - 是否有 R 函数用于查找向量中元素的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5577727/

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