# Compare to rows and delete matching rows

23 views (last 30 days)
Curious Mind on 10 Mar 2019
Commented: Curious Mind on 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!

Show 1 older comment
Curious Mind on 10 Mar 2019
I transfered them to matlab but the ismember function is not helping. Maybe its my code
Image Analyst on 11 Mar 2019
Curious Mind on 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!

dpb on 10 Mar 2019
[~,ib]=ismember(A,B(:,1));
B(ib,:)=[];

Curious Mind on 10 Mar 2019
This is the error message I received in matlab
Subscript indices must either be real positive integers or logicals.
dpb on 11 Mar 2019
>> 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 on 11 Mar 2019
It works!
Thank you!

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