(例如)
V1< -C(1,2,3,4) V2< -C(1,2,3,4) 功能 V3 [1] 4 0
V1< -C(1,1,1,1) V2< -C(1,2,3,4) FUNCITONS V3 [1] 1 0
V1< -C(2,2,3,3-) V2< -C(1,2,3,4) 功能 V3 [1] 2 0
V1< -C(1,1,3,4-) V2< -C(1,2,3,3-) 功能 V3 [1] 2 0
V1< -C(4,3,2,1) V2< -C(1,2,3,4) 功能 V3 [1] 0 4
V1< -C(4,3,4,3) V2< -C(1,2,3,4) 功能 V3 [1] 0 2
请看看这些新添加的例子,该功能还需要满足这两个条件V1< -C(1,1,2,2) V2< -C(3,3,1,1) 功能 V3 [1] 0 2
V1< -C(1,1,2,2) V2< -C(3,3,3,1) 功能 V3 [1] 0 1
答案 0 :(得分:2)
建立wkmor1的答案,你可以使用集合交叉来简化它的y部分。
func <- function(x, y) c(sum(x == y), length(intersect(x,y)))
这样一来就是单行。
答案 1 :(得分:1)
你可能会追求这样的事情。
> func <- function(x, y) {
> c(sum(x == y),
> length(y[match(unique(x), y, nomatch = 0)])
> - sum(x == y))}
> V1<-c(4,3,2,1)
> V2<-c(1,2,3,4)
> func(V1,V2)
[1] 0 4