How to remove particular row
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Kanakaiah Jakkula
am 25 Dez. 2015
Kommentiert: Kanakaiah Jakkula
am 26 Dez. 2015
I have the folloing table:
Tool1 Mek Ar 10.0 40.5
Tool1 Lahi BM2 13.0 89.4
Tool1 Ar Ar 34.0 67.8
Tool1 Puni Raj 41.0 89.9
Tool1 Jak Ar 20.0 78.3
Tool1 Lahi Lahi 12.0 99.0
Tool1 N2 BM2 14.0 89.0
Tool1 Ar Mek 25.0 95.7
Tool1 Puni Puni 17.0 90.6
Tool1 Raj Jak 20.0 100.0
uncommon list:
Ar
BM2
N2
I want to remove a particular row if:
1. If the name in second column & third column (of any row) is equal (I mean same)
2. If the name in third column (of any row) belongs to uncommon list
Many thanks in advance.
1 Kommentar
Image Analyst
am 26 Dez. 2015
Is it a table (hopefully), or a cell array? If it's a cell array, you should really use a table instead because they're easier to deal with, faster, and take up a lot less memory. Let me know if you don't even know the difference between a table (which was introduced in R2013b) and a cell array.
Akzeptierte Antwort
Azzi Abdelmalek
am 25 Dez. 2015
Bearbeitet: Azzi Abdelmalek
am 25 Dez. 2015
If A is your cell array and b the uncomon list
A={'Tool1' 'Mek' 'Ar' 10.0 40.5
'Tool1' 'Lahi' 'BM2' 13.0 89.4
'Tool1' 'Ar' 'Ar' 34.0 67.8
'Tool1' 'Puni' 'Raj' 41.0 89.9
'Tool1' 'Jak' 'Ar' 20.0 78.3
'Tool1' 'Lahi' 'Lahi' 12.0 99.0
'Tool1' 'N2' 'BM2' 14.0 89.0
'Tool1' 'Ar' 'Mek' 25.0 95.7
'Tool1' 'Puni' 'Puni' 17.0 90.6
'Tool1' 'Raj' 'Jak' 20.0 100.0 }
b={'Ar';'BM2';'N2'}
ii=cellfun(@(x,y) isequal(x,y) & any(ismember(b,y)),A(:,2),A(:,3))
A(ii,:)=[]
4 Kommentare
Azzi Abdelmalek
am 26 Dez. 2015
Bearbeitet: Azzi Abdelmalek
am 26 Dez. 2015
In your last comment, we understand that the condition is (condition 1 | condition 2). The solution will be
ii=cellfun(@(x,y) isequal(x,y) | any(ismember(b,y)),A(:,2),A(:,3))
A(ii,:)=[]
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!