Compare to rows and delete matching rows

19 vues (au cours des 30 derniers jours)
Curious Mind
Curious Mind le 10 Mar 2019
Commenté : Curious Mind le 11 Mar 2019
Update: I have attached to mat files. I want to compare the rows in file A to that of file B. If a number in the first column of B matches with that of a number in the first column of A, then the entire row in A in which the number matches with that in B should be deleted. So example if you look at file B, the number 12 is in column 1, row 2 and it matches with column 1, row 4 in A. In this case I want a code that will delete the entire row 4 in A. I will now be left with 6by4 matrix. I am trying to compare the headers and use it as a quide to remove rows in A that I dont want. I have a very large data set and having a code that can do this will be very helpful.
Thanks!
  4 commentaires
Image Analyst
Image Analyst le 11 Mar 2019
Make it easy for people to help you by attaching your Excel workbook.
Curious Mind
Curious Mind le 11 Mar 2019
@Image Analyst
Thanks for the information. I have attached to mat files. I want to compare the rows in file A to that of file B. If a number in the first column of B matches with that of a number in the first column of A, then the entire row in A in which the number matches with that in B should be deleted. So example if you look at file B, the number 12 is in column 1, row 2 and it matches with column 1, row 4 in A. In this case I want a code that will delete the entire row 4 in A. I will now be left with 6by4 matrix.
Thanks!

Connectez-vous pour commenter.

Réponse acceptée

dpb
dpb le 10 Mar 2019
[~,ib]=ismember(A,B(:,1));
B(ib,:)=[];
  3 commentaires
dpb
dpb le 11 Mar 2019
Modifié(e) : dpb le 11 Mar 2019
Show your work...
>> A
A =
11
14
>> B
B =
11.0000 0.0522 0.7477
14.0000 0.5712 0.3202
12.0000 0.4929 0.2217
>> [~,ib]=ismember(A,B(:,1))
ib =
1
2
>> B(ib,:)=[]
B =
12.0000 0.4929 0.2217
>>
Works to solve the described problem...
Curious Mind
Curious Mind le 11 Mar 2019
It works!
Thank you!

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 10 Mar 2019
Try ismember() or ismembertol().

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by