Oi, Adriele!

library( dplyr )
C <- inner_join( A, B, by = c( "x", "y" ) ) %>%
  select( x, y, z = z.x )

A primeira função faz a "junção" (JOIN) que você quer, depois o select "seleciona" e renomeia as colunas para já deixar a saída como você precisa.

De qualquer forma, sugiro que veja as funções da "família" join do dplyr para ver se é isso o que precisa. Mas tem uma img que vale por qualquer explicação para ajudar a escolher os joins:
https://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_orig.jpg

São as funções de JOIN de bancos de dados relacionais, mas o raciocínio é o mesmo.

Abs,
Karina



On Fri, Feb 10, 2017 at 6:08 PM Adriele Giaretta Biase via R-br <r-br@listas.c3sl.ufpr.br> wrote:

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.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.