Identificar coincidencias/diferencias en tablas de datos
Publicado por Luis (2 intervenciones) el 30/05/2013 09:15:35
Hola a todos,
Me estoy iniciando en el mundo unix, especialmente para resolver las necesidades que me han surgido a la hora de trabajar con textos y tablas.
Necesito hacer comparaciones de tablas por pares, pero en el output deberían figurar los elementos comunes, los elementos de A que no están en B y los elementos de B que no están en A.
Hasta ahora, lo que tenía hecho era unir las dos tablas y eliminar los duplicados, pero en la tabla final, no tengo información sobre la procedencia de cada uno de los elementos.
He visto que con diff se puede hacer algo parecido, pero es absolutamente necesario que las líneas comunes sean idénticas o se puede definir una columna para realizar la comparación?
Os dejo un ejemplo de las tablas que quiero comparar:
TABLA A:
Metodo Chr:Start-End Gene_refgene
METODO1 chr1:111111111-22222222 HPDL,MUTYH
METODO1 chr1:45794863-45794863 HPDL,MUTYH
METODO1 chr1:45794873-45794873 HPDL,MUTYH
METODO1 chr1:45794876-45794877 HPDL,MUTYH
TABLA B:
Metodo Chr:Start-End Gene_refgene
METODO2 chr1:33333333-44444444 HPDL,MUTYH
METODO2 chr1:45794863-45794863 HPDL,MUTYH
METODO2 chr1:45794873-45794873 HPDL,MUTYH
METODO2 chr1:45794876-45794877 HPDL,MUTYH
Sería perfecto que pudiese comparar las tablas atendiendo sólo al campo "Chr:Start-End", ya que así retendría información sobre la procedencia de cada línea. Ya sería la leche que el output incluyese una nueva columna resumen:
Metodo Chr:Start-End Gene_refgene Recuento
METODO1 chr1:111111111-22222222 HPDL,MUTYH 1
METODO2 chr1:33333333-44444444 HPDL,MUTYH 1
METODO1 chr1:45794863-45794863 HPDL,MUTYH 2
METODO1 chr1:45794873-45794873 HPDL,MUTYH 2
METODO1 chr1:45794876-45794877 HPDL,MUTYH 2
Muchas gracias por vuestra ayuda
Me estoy iniciando en el mundo unix, especialmente para resolver las necesidades que me han surgido a la hora de trabajar con textos y tablas.
Necesito hacer comparaciones de tablas por pares, pero en el output deberían figurar los elementos comunes, los elementos de A que no están en B y los elementos de B que no están en A.
Hasta ahora, lo que tenía hecho era unir las dos tablas y eliminar los duplicados, pero en la tabla final, no tengo información sobre la procedencia de cada uno de los elementos.
He visto que con diff se puede hacer algo parecido, pero es absolutamente necesario que las líneas comunes sean idénticas o se puede definir una columna para realizar la comparación?
Os dejo un ejemplo de las tablas que quiero comparar:
TABLA A:
Metodo Chr:Start-End Gene_refgene
METODO1 chr1:111111111-22222222 HPDL,MUTYH
METODO1 chr1:45794863-45794863 HPDL,MUTYH
METODO1 chr1:45794873-45794873 HPDL,MUTYH
METODO1 chr1:45794876-45794877 HPDL,MUTYH
TABLA B:
Metodo Chr:Start-End Gene_refgene
METODO2 chr1:33333333-44444444 HPDL,MUTYH
METODO2 chr1:45794863-45794863 HPDL,MUTYH
METODO2 chr1:45794873-45794873 HPDL,MUTYH
METODO2 chr1:45794876-45794877 HPDL,MUTYH
Sería perfecto que pudiese comparar las tablas atendiendo sólo al campo "Chr:Start-End", ya que así retendría información sobre la procedencia de cada línea. Ya sería la leche que el output incluyese una nueva columna resumen:
Metodo Chr:Start-End Gene_refgene Recuento
METODO1 chr1:111111111-22222222 HPDL,MUTYH 1
METODO2 chr1:33333333-44444444 HPDL,MUTYH 1
METODO1 chr1:45794863-45794863 HPDL,MUTYH 2
METODO1 chr1:45794873-45794873 HPDL,MUTYH 2
METODO1 chr1:45794876-45794877 HPDL,MUTYH 2
Muchas gracias por vuestra ayuda
Valora esta pregunta


0