Eliminate all rows with '\N' element in a cell

1 view (last 30 days)
Meghana Dinesh
Meghana Dinesh on 16 Dec 2016
Answered: KSSV on 16 Dec 2016
This is a simple question, but I'm getting confused cuz of the different datatypes in cell
I have Cell_A (attached). I want to find the indices (row numbers) of those rows which contain '\N' in the third column. How can it be done? When these indices are found, I also want to eliminate those rows. Ultimately, I want a matrix which contains the first column of elements and the corresponding third column of elements. (with the rows containing \N eliminated).
Result =
[10358 15
11198 31
11416 56
11426 9
11434 50
11441 44
11442 50
11444 10
11446 56];
The index output should be "4" since the fourth row contains '\N'.
This is what I have done till now.....I'm facing a problem since datatypes don't match.
Data = Tst_sorted;
Img_num = str2double(Data(:,1));
Img_class = Data(:,3);

Answers (1)

KSSV
KSSV on 16 Dec 2016
load cell_A.mat
k = Cell_A ;
k = [k(:,1) k(:,3)] ;
iwant = [] ;
for i = 1:length(k)
if ~strcmp(k(i,2),{'\N'})
iwant = [iwant ; str2num(k{i,1}) k{i,2}];
end
end
There will be more elegant way..

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!