gpt4 book ai didi

从向量中删除向量元素

转载 作者:行者123 更新时间:2023-12-03 15:01:15 25 4
gpt4 key购买 nike

这看起来很容易,但我一直在撞头。
我有数字向量 v1

v1 <- c(1,1,3,5,7,7)
我有一个数字向量 v2。 v2 始终是 v1 的子集 .
我想从 v1 中删除 v2 中的所有元素,但每个 v2 元素只有一个(和精确到一个)v1 元素。
所需的输出
如果 v2 <- c(3,5)我要保留 c(1,1,7,7)从 v1.这个很容易使用 v1[-match(v2, v1)] .
如果 v2 <- c(1,7)我要保留 c(1,3,5,7)从 v1.还有, v1[-match(v2, v1)]诀窍。
如果 v2 <- c(1,1)我要保留 c(3,5,7,7)从 v1.现在 v1[-match(v2, v1)]返回 [1] 1 3 5 7 7 ..不是我想要的。

最佳答案

您可以使用 vsetdiff来自“vecsets”库(这将保留重复项而不是 setdiff ),以下列方式:

library(vecsets)
v1 <- c(1,1,3,5,7,7)
v2.1 <- c(3,5)
> vsetdiff(v1, v2.1)
[1] 1 1 7 7
v2.2 <- c(1,7)
> vsetdiff(v1, v2.2)
[1] 1 3 5 7
v2.3 <- c(1,1)
> vsetdiff(v1, v2.3)
[1] 3 5 7 7

关于从向量中删除向量元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66873028/

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