gpt4 book ai didi

r - 为什么 unique 命令的行为类似于 intersect 命令?

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

我已经检查了问题,但找不到任何解释。

所以我有两个向量,我只想选择一个有而另一个没有的不同元素。

我假设对向量的定义如下:

hypo1=c("a01","a02","a03","a04","b01","b02","b03","b04","c01","c02","c03","c04")
hypo2=c("a03","a04","b01","b02","c02","c03")

然后想查看这两个向量中的重复项。

intersect(hypo1,hypo2)
[1] "a03" "a04" "b01" "b02" "c02" "c03"

这看起来工作正常。

但是,当我想查看 hypo1 具有而 hypo2 没有的唯一元素时,我在第一个向量中恢复了所有元素。比如:

unique(hypo1,hypo2)
[1] "a01" "a02" "a03" "a04" "b01" "b02" "b03" "b04" "c01" "c02" "c03" "c04"

然后我改变了我创建的向量的顺序,它给出了相交命令的结果,比如

unique(hypo2,hypo1)
[1] "a03" "a04" "b01" "b02" "c02" "c03"

我在网上做了一些挖掘,但找不到我遗漏的东西。我需要找到一个数据具有而另一个数据没有的独特元素。

最佳答案

你想要setdiff(hypo2, hypo1) . unique(hypo2, hypo1)意味着完全不同的东西:这意味着你想要 hypo2 中的唯一条目, 但如果值列在 hypo1 中,将允许重复值.这在帮助页面上有解释 ?unique .

例如,

unique(c(1,2,2,3,3,4,4,4), c(3,4))

给予

[1] 1 2 3 3 4 4 4

因为3和4已经被宣布为“无与伦比”。另一方面,

setdiff(c(1,2,2,3,3,4,4,4), c(3,4))

给予

[1] 1 2

这就是我认为您正在寻找的。

关于r - 为什么 unique 命令的行为类似于 intersect 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46582685/

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