如何通过另一个字符串向量中的元素删除字符串向量中的元素
how may I remove elements in a string vector by elements in another string vector
setdiff(c("a","c"),c("a","b","c","d"))
#character(0)
这段代码应该return一个c("b","d")的向量,它有什么问题吗?
setdiff
是不对称的,正如帮助页面警告的那样(尽管很微妙)。
这如您所愿,
> setdiff(c("a","b","c","d"),c("a","c"))
[1] "b" "d"
一个简单的函数可以用任何一种方式工作,
setdiff2 <- function(x,y){
d1 <- setdiff(x,y)
d2 <- setdiff(y,x)
if(length(d2) > length(d1))
return(d2)
else
return(d1)
}
> setdiff2(c("a","c"), c("a","b","c","d"))
[1] "b" "d"
setdiff(c("a","c"),c("a","b","c","d"))
#character(0)
这段代码应该return一个c("b","d")的向量,它有什么问题吗?
setdiff
是不对称的,正如帮助页面警告的那样(尽管很微妙)。
这如您所愿,
> setdiff(c("a","b","c","d"),c("a","c"))
[1] "b" "d"
一个简单的函数可以用任何一种方式工作,
setdiff2 <- function(x,y){
d1 <- setdiff(x,y)
d2 <- setdiff(y,x)
if(length(d2) > length(d1))
return(d2)
else
return(d1)
}
> setdiff2(c("a","c"), c("a","b","c","d"))
[1] "b" "d"