我有一个如下列表:
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
中的1
和4
中的rn
出现match
,1
也会获得第一个,并为两个搜索返回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')
;
}
,但可以处理关系?如果领带随意破坏应该没问题。
答案 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