gpt4 book ai didi

r - 如何从向量中删除多个值?但不是全部

转载 作者:行者123 更新时间:2023-12-01 07:17:33 36 4
gpt4 key购买 nike

假设我有两个向量,

set <- c(1, 1, 1, 1, 3, 3, 4, 4, 8, 8, 10)
played <- c(1, 3, 1, 4)

我想从原始集合中删除“播放”的数字, 但是 我不想删除所有的 1、3 或 4。
这样得到的向量应该是,
1,1,3,4,8,8,10

目前我正在使用循环,但这不是一种非常有效的方法。是否有一个功能可以做我想做的事。

注意:这不是复制品 不是复制品
How to delete multiple values from a vector?
而是一个扩展,所有关于不删除所有值。

重新编辑:我说顺序很重要,但我错了。

最佳答案

您可以通过 pmatch 非常简单地获得它:

set[-pmatch(played,set)]
# [1] 1 1 3 4 8 8 10

这是另一个想法:
rep.int(seq_len(max(set)),tabulate(set)-tabulate(played,nbins=max(set)))
# [1] 1 1 3 4 8 8 10

关于r - 如何从向量中删除多个值?但不是全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49742315/

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