功能上的断路器"匹配"

时间:2017-11-05 18:29:33

标签: r match

我有一个如下列表:

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

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

所以,我正在使用match

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

因此,match的行为符合预期,并返回每个要搜索的数字的第一个索引。因此,即使10中的14中的rn出现match1也会获得第一个,并为两个搜索返回match

R(或任何包)中是否有一个函数,其行为类似public function install() { Configuration::updateValue('TESTRTVTHEME_LIVE_MODE', false); return parent::install() && $this->registerHook('header') && $this->registerHook('backOfficeHeader') && $this->registerHook('testHomeSearch') && $this->registerHook('testHomeBasket') && $this->registerHook('testMenu1') && $this->registerHook('testMenu2') && $this->registerHook('testMenu3') && $this->registerHook('testMenu4') && $this->registerHook('testMenu5') && $this->registerHook('testMenu6') && $this->registerHook('displayTwMenu6') && $this->registerHook('testMenu7') ; } ,但可以处理关系?如果领带随意破坏应该没问题。

1 个答案:

答案 0 :(得分:1)

q rn按升序排序时,您可以使用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