Pessoal, boa tarde!

eu preciso comparar duas matrizes de dados (A e B) , que possuem três colunas (x, y, z).  

O número de linhas matriz A é superior que o número de linhas da  matriz B.

As duas matrizes A e B possuem as colunas x e y com valores iguais, ressalvo que na matriz A, existe um número de linhas maior que na matriz B.

Nunca existirá linhas com valores exatamente iguais, considerando a combinação entre x e y, respectivamente.

Eu gostaria de saber como obter uma nova matriz C, que remova da matriz A, as linhas que não estão na matriz B, obtendo as mesmas colunas x, y e z,  respectivamente.

Didaticamente, eu queria obter a seguinte matriz C,  com as linhas com os valores comuns  entre A e B (das colunas x e y), ressalvando respectivamente os valores de z da planilha original A.

A=

x

y

z

1

1

2.3

2

1

1.4

3

1

2.5

1

2

7.8

2

2

9.1

3

2

0

1

3

2

2

3

4.5

3

3

8

B=

x

y

z

2

1

7

3

1

6.3

1

2

9

2

2

7.4

3

2

13.5

2

3

12

3

3

11

C=

x

y

z

2

1

1.4

3

1

2.5

1

2

7.8

2

2

9.1

3

2

0

2

3

4.5

3

3

8

 

Agradeço de alguém puder me ajudar, caso já tenha alguma função no R, que faça isso.


A função match(x,y) funciona se for apenas com vetor (uma coluna apenas).


match(x,y): ele cruza o vetor x com o vetor y. Ele retorna um vetor do tamanho de x, informando o índice em y no qual se encontram os elementos de x. Caso contrário, ele informa NA.


--
Adriele Giaretta Biase.
Mestre em  Estatística e Experimentação Agropecuária - UFLA. 
Doutora em Estatística e Experimentação Agronômica - ESALQ/ USP
Contato: (19) 98861-0619.