我有两个这样的矢量(集):
first<-c(1,2,3,4,5)
second<-c(2,4,5)
如何检测second
是否是first
的子集?这有什么功能吗?
答案 0 :(得分:10)
这是单程
> all(second %in% first)
[1] TRUE
答案 1 :(得分:7)
这是另一个
setequal(intersect(first, second), second)
## [1] TRUE
或者
all(is.element(second, first))
## [1] TRUE
答案 2 :(得分:-2)
如果数组元素的顺序很重要,则字符串转换可能会有所帮助:
ord_match <- function(x,y){
m <- c(0,grep(paste0(x,collapse=""),
paste0(y,collapse=""), fixed = T))
return(as.logical(m)[length(m)])
}