gpt4 book ai didi

r - 函数 "match"中的决胜局

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

我有一个列表如下:

rn<-c(10,20,20,10,50,80,100)
rn
#[1] 10 20 20 10 50 80 100

我有另一个列表 q,它是 rn 的升序排序版本。我想在我的原始列表 rn 中找到 q 中数字的索引。

所以,我正在使用 match:

q<-sort(rn)
match(q,rn)
#[1] 1 1 2 2 5 6 7

因此,match 的行为与预期一致,并返回要搜索的每个数字的第一个索引。因此,即使 10 出现在 rn 的索引 14 中,匹配仅获取第一个并为两次搜索返回 1

R(或任何包)中是否有一个功能类似于match,但可以处理平局?平局随意断掉应该没问题。

最佳答案

qrn 升序排序时,您可以使用 order

order(rn)
#[1] 1 4 2 3 5 6 7

在其他情况下,您可以将向量转换为字符并使用 make.unique 来计算重复值

match(make.unique(as.character(q)), make.unique(as.character(rn)))
#[1] 1 4 2 3 5 6 7

关于r - 函数 "match"中的决胜局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47125084/

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