looking condition in matrix
Ältere Kommentare anzeigen
Hey,
I got matrix
[ 2 9841 5 4 2 1;
3 79463 1 3 1 0;
3 79463 4 3 1 0;
3 79463 5 3 1 0;
3 79463 1 3 2 0;
3 79463 4 3 2 0;
3 79463 5 3 2 0;
3 79463 1 4 1 0;
3 79463 4 4 1 0;
3 79463 5 4 1 0;
3 79463 1 4 2 0;
3 79463 4 4 2 0;
3 79463 5 4 2 0;
3 79463 1 4 1 1;
3 79463 4 4 1 1;
3 79463 5 4 1 1;
3 79463 4 4 1 1;
3 79463 5 4 1 1;
3 79212 1 3 1 0;]
I have to look for every row in column 1,2,4,5, if they match, then i check last column 6th, where is information if row data is correct or wrong.
If there are both correct and wrong data for rows that all include same values in column 1,2,4,5 than i must keep only correct data and erase wrong. If there is only wrong data for row than i keeep it.
The result should erase those two rows...
3 79463 4 4 1 0;
3 79463 5 4 1 0;
Thank you for your suggestions and solutions, take care.
Nejc
4 Kommentare
Yao Li
am 10 Apr. 2013
Do you mean in each row, the 1st element should be 3, the 2nd should be 79463, the 4th element should be 4 and the 5th element should be 1? If not, the wrong element should be corrected and the 6th element is 0.
Nejc
am 10 Apr. 2013
Yao Li
am 10 Apr. 2013
Sorry, I haven't got it yet. Maybe you can take the first 5 rows for example. Pls. give the results for the first 5 rows.
Nejc
am 10 Apr. 2013
Antworten (1)
Andrei Bobrov
am 10 Apr. 2013
Bearbeitet: Andrei Bobrov
am 10 Apr. 2013
a = [ 2 9841 5 4 2 1;3 79463 1 3 1 0;3 79463 4 3 1 0;3 79463 5 3 1 0;3 79463 1 3 2 0;3 79463 4 3 2 0;3 79463 5 3 2 0;3 79463 1 4 1 0;3 79463 4 4 1 0;3 79463 5 4 1 0;3 79463 1 4 2 0;3 79463 4 4 2 0;3 79463 5 4 2 0;3 79463 1 4 1 1;3 79463 4 4 1 1;3 79463 5 4 1 1;3 79463 4 4 1 1;3 79463 5 4 1 1;3 79212 1 3 1 0;];
[~,~,ii] = unique(a(:,[1 2 4 5]),'rows');
i1 = histc(ii,1:max(ii));
out = a(ismember(ii,find(i1 > 1)) & a(:,end) == 1,:);
1 Kommentar
Nejc
am 10 Apr. 2013
Kategorien
Mehr zu Text Data Preparation finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!