вычислить примеры - PullRequest
       6

вычислить примеры

1 голос
/ 18 марта 2011

(например)

V1 <-c (1,2,3,4) V2 <-c (1,2,3,4) ФУНКЦИИ V3 [1] 4 0 </p>

V1 <-c (1,1,1,1) V2 <-c (1,2,3,4) ФУНКЦИИ V3 [1] 1 0 </p>

V1 <-c (2,2,3, 3) ФУНКЦИИ V2 <-c (1,2,3,4) V3 [1] 2 0 </p>

V1 <-c (1,1,3,4) V2 <-c (1,2, 3,3) ФУНКЦИИ V3 [1] 2 0 </p>

V1 <-c (4,3,2,1) V2 <-c (1,2,3,4) ФУНКЦИИ V3 [1] 04 </p>

V1 <-c (4,3,4,3) V2 <-c (1,2,3,4) ФУНКЦИИ V3 [1] 0 2 </p>

пожалуйста, посмотрите наВ этих новых добавленных примерах функция также должна удовлетворять этим двум условиям

V1 <-c (1,1,2,2) V2 <-c (3,3,1,1) ФУНКЦИИV3 [1] 0 2 </strong>

V1 <-c (1,1,2,2) V2 <-c (3,3,3,1) ФУНКЦИИ V3 [1] 01 </strong>

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Основываясь на ответе wkmor1, вы можете упростить его часть y, используя пересечение множеств.

func <- function(x, y) c(sum(x == y), length(intersect(x,y)))

Таким образом, это однострочник.

1 голос
/ 18 марта 2011

Возможно, вы хотите что-то вроде этого.

> 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
...