Comparação entre dois data frames

Bom dia Pessoal, Se quero separar somente os elementos em comum entre dois data frames hipotéticos, uso merge, sendo:a1 <- data.frame(a = 1:5, b=letters[1:5])a2 <- data.frame(a = 1:3, b=letters[1:3])merge(a1,a2)a1a2 Mas e para separar somente os elementos desiguais entre os dois data frames, o que eu poderia utilizar? Obrigado, -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================

Segue uma sugestão. agora não sei se funciona para todo caso. Mas basicamente é ver o que tem no merge com tudo no merge que so pega o que tem igual e usar isso de indice para um merge com tudo. E o codigo não vai ser muito eficiente assim para um data-frame grande, mas da pra quebrar o galho enquanto não aparece uma ideia melhor :) a1 <- data.frame(a = 1:5, b=letters[1:5]) a2 <- data.frame(a = 1:3, b=letters[1:3]) merge(a1,a2,all=T)[!rownames(merge(a1,a2,all=T)) %in% rownames(merge(a1,a2)), ] #Funciona independente do nomes originais das linhas rownames(a1)<-sample(nrow(a1)) rownames(a2)<-sample(nrow(a2)) a1 a2 merge(a1,a2,all=T)[!rownames(merge(a1,a2,all=T)) %in% rownames(merge(a1,a2)), ] Em 3 de fevereiro de 2015 11:23, Alexandre Santos < alexandresantosbr@yahoo.com.br> escreveu:
Bom dia Pessoal,
Se quero separar somente os elementos em comum entre dois data frames hipotéticos, uso merge, sendo: a1 <- data.frame(a = 1:5, b=letters[1:5]) a2 <- data.frame(a = 1:3, b=letters[1:3]) merge(a1,a2) a1 a2
Mas e para separar somente os elementos desiguais entre os dois data frames, o que eu poderia utilizar?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO)e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================
_______________________________________________ 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.
-- Grato Augusto C. A. Ribas Site Pessoal: http://recologia.com.br/ <http://augustoribas.heliohost.org> Github: https://github.com/Squiercg Lattes: http://lattes.cnpq.br/7355685961127056

Tem a função anti_join() do pacote dplyr: library(dplyr) anti_join(a1, a2, by = c('a', 'b')) Att.,Rubem De: Alexandre Santos <alexandresantosbr@yahoo.com.br> Para: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Enviadas: Terça-feira, 3 de Fevereiro de 2015 12:23 Assunto: [R-br] Comparação entre dois data frames Bom dia Pessoal, Se quero separar somente os elementos em comum entre dois data frames hipotéticos, uso merge, sendo:a1 <- data.frame(a = 1:5, b=letters[1:5])a2 <- data.frame(a = 1:3, b=letters[1:3])merge(a1,a2)a1a2 Mas e para separar somente os elementos desiguais entre os dois data frames, o que eu poderia utilizar? Obrigado, -- ============================== ============================== ========== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@ yahoo.com.br alexandre.santos@cas.ifmt.edu. br Lattes: http://lattes.cnpq.br/ 1360403201088680 ============================== ============================== ========== _______________________________________________ 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.
participantes (3)
-
Alexandre Santos
-
Augusto Ribas
-
Rubem Kaipper Ceratti