gpt4 book ai didi

r - 检查列表是否包含 R 中的另一个列表

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

我想检查一个列表(或等效的向量)是否包含在另一个列表中,而不是它是否是其中的一个子集。让我们假设我们有

r <- c(1,1)
s <- c(5,2)
t <- c(1,2,5)

该函数的行为应如下所示:
is.contained(r,t) 
[1] FALSE
# as (1,1) is not contained in (1,2,5) since the former
# contains two 1 whereas the latter only one.

is.contained(s,t)
[1] TRUE

运营商 %in%检查子集,因此它会返回 TRUE在这两种情况下,同样 allany .我确定有一个单线,但我只是没有看到它。

最佳答案

如何使用循环。我遍历第一个向量并检查它是否存在于第二个向量中。如果它在那里,我将它从第二个向量中删除。这个过程还在继续。

is.contained=function(vec1,vec2){
x=vector(length = length(vec1))
for (i in 1:length(vec1)) {
x[i] = vec1[i] %in% vec2
if(length(which(vec1[i] %in% vec2)) == 0) vec2 else
vec2=vec2[-match(vec1[i], vec2)]
}
y=all(x==T)
return(y)
}

关于r - 检查列表是否包含 R 中的另一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39338394/

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