【问题标题】:Remove a particular group of elements in a vector? [duplicate]删除向量中的特定元素组? [复制]
【发布时间】:2012-07-26 15:01:13
【问题描述】:

可能重复:
How to delete multiple values from a vector?

是否有任何内置函数允许我们删除特定组 向量中的元素?

示例:

x<-c(2, 4, 6, 9, 10)

x 中删除向量c(4,9,10)

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以通过多种方式做到这一点,这里有一种:

    x[!x %in% c(4, 9, 10)]
    

    【讨论】:

    • 如果你想使用哪个,你可以这样做:x[which(!x %in% c(4,9,10))]
    【解决方案2】:

    您也可以使用?is.element

    x[!is.element(x, c(4,9,10))]
    

    【讨论】:

    • 您忘记了is.element 上的关闭括号。
    【解决方案3】:

    这可能很有用

     x<-c(2, 4, 6, 9, 10)
     y <- c(4,9,10)
     setdiff(x, y)
     2 6
    

    【讨论】:

    • 这里唯一需要注意的是setdiff 执行集合操作。因此,如果x &lt;-c(2,4,6,9,10,2),那么setdiff 仍然返回2 6,人们可能会期望2 6 2
    • @mindless.panda 你是完全正确的,在这种情况下应该使用 jmsigner 建议的 x[!x%in%y]。
    猜你喜欢
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    相关资源
    最近更新 更多