Compare to rows and delete matching rows

16 次查看(过去 30 天)
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 个评论
Image Analyst
Image Analyst 2019-3-11
Make it easy for people to help you by attaching your Excel workbook.
Curious Mind
Curious Mind 2019-3-11
@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
dpb 2019-3-10
[~,ib]=ismember(A,B(:,1));
B(ib,:)=[];
  3 个评论
dpb
dpb 2019-3-11
编辑:dpb 2019-3-11
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...

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2019-3-10
Try ismember() or ismembertol().

标签

Community Treasure Hunt

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

Start Hunting!

Translated by