计算实例

时间:2011-03-18 04:10:10

标签: r vector compare

(例如)

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

2 个答案:

答案 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
相关问题