gpt4 book ai didi

R检查两个列表中的排序顺序

转载 作者:行者123 更新时间:2023-12-02 05:33:17 29 4
gpt4 key购买 nike

事实证明这是一个挑战。我有三个向量 x、y 和 z

x = c('a','b','c','d','f','m','n')
y = c('b','c','f')
z = c('b','a','n')

x 是我的超集。它指定元素 a、b、c...等应出现的顺序。我想要做的是能够判断一个向量是否遵循与 x 相同的顺序。例如,y 与 x 具有相同的顺序。 'b' 在 'c' 之前,而 'c' 又在 'f' 之前。但是 z 是乱序的,因为 'a' 在 'b' 之后。有没有快速检查的方法?

提前致谢。

最佳答案

试试这个:

all(diff(match(y,x)) > 0)
[1] TRUE
all(diff(match(z,x)) > 0)
[1] FALSE

match 返回每个元素在 x 中的数值位置,然后我们只需检查该向量的值是否始终递增。

关于R检查两个列表中的排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12078727/

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