【问题标题】:Unique elements of two vectors两个向量的唯一元素
【发布时间】:2015-04-26 17:35:44
【问题描述】:

我有两个向量,我需要找出两者中的唯一元素。

我尝试做length(summary(merge(v1, v2))),但由于只有其中一个条目,因此摘要聚合了我的一堆数据集,所以我得到的长度不正确。

例如:

list_1 <- c(1,2,3,4,5,5,6,1,2,3)

list_2 <- c(2,3,4,5,10,11,10)

结果应该是

1,2,3,4,5,6,10,11

附:如果您可以返回向量中的所有唯一元素,则可以加分... :-)

【问题讨论】:

  • 我不明白你的“积分”问题。
  • 为了对它们进行排序,我使用了以下答案加:d &lt;- union(v1, v2); d&lt;-d[order(nchar(d))]
  • 你能澄清一下你的数据结构吗? @DatamineR 创建了列表,而您的原始问题指示了向量(即使您使用了术语“列表”)。
  • 这是一个向量,对此感到抱歉

标签: r


【解决方案1】:

听起来你在找union

> union(v1, v2)
[1]  1  2  3  4  5  6 10 11

【讨论】:

    【解决方案2】:

    这是我的解决方案。

    p1 <- c(1, 4, 1, 1, 4, 5, 6, 7, 8)
    p2 <- c(3, 4, 1, 6, 90, 10, 32)
    unique(c(p1, p2))
    

    【讨论】:

    • 也不错!
    • 这个解决方案在引入三分之一的第四个向量时仍然有效! union() 示例一次只能处理两个向量...感谢分享,这非常有用!
    【解决方案3】:

    您可以将 unlist 与 union 一起使用

        unlist(union(a,b))
    

    【讨论】:

    • 为什么需要unlist
    • 之前的列表是用 list() 创建的。编辑后的方式不需要取消列表。
    • 原始(未编辑)问题将数据显示为向量。您所指的“编辑方式”比您的回答早了至少 5 分钟,并且在 OP 已经发布评论显示他们已经尝试过的内容之后将近 20 分钟发布(从而强化了他们是向量的想法)。 unlist 也适用于向量,但这似乎并没有增加答案中不存在的东西......只是我的 2 美分......
    • 我明白了..谢谢您的指出。我刚刚接受了未编辑的问题并发布了答案..在发布解决方案之前没有注意到正在编辑的 qs。
    猜你喜欢
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多