Comparing columns and returning 0s for matching values

2 visualizaciones (últimos 30 días)
I have two columns in two separate tables:
T1 - Col A T2 - Col A
1 1
2 4
3 ` 5
4
5
I am looking to create in table 1 a column B containing zeros for those matching values between T1-colA and T2-colA.
The result will look like
T1 - Col A T1 - Col B
1 0
2
3 `
4 0
5 0
How could I accomplish this efficiently?
  1 comentario
Pablo Jaramillo Restrepo
Pablo Jaramillo Restrepo el 8 de Feb. de 2016
...(sorry I forgot something) and for those values not matching, return a value (FOR EXAMPLE 1) so the resulting table will look like:
T1 - Col A T1 - Col B
1 0
2 1
3 ` 1
4 0
5 0

Iniciar sesión para comentar.

Respuesta aceptada

Ingrid
Ingrid el 8 de Feb. de 2016
is it a table that you have or an array? Have you looked into ismember to see if this does what you want?
doc ismember
  2 comentarios
Pablo Jaramillo Restrepo
Pablo Jaramillo Restrepo el 8 de Feb. de 2016
Thank you Ingrid! this function works well for what I am doing!
Guillaume
Guillaume el 8 de Feb. de 2016
Editada: Guillaume el 8 de Feb. de 2016
Whether or not it is truly a table or just a plain array, the answer is the same. Use ismember:
%assuming tables
T1.colB = ismember(T1.colA, T2.colA);
%assuming matrices
T1(:, end+1) = ismember(T1(:, 1), T2(:, 1));

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Tables en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by