For each non NaN value in the 2rd column, remove the entire row of Cell
Mostrar comentarios más antiguos
raw= [UPS CALL;WMB NaN;LNG NaN; XLE PUT ;DIS CALL]
('raw' is a cell in my case)
Here is what I have so far but it does not work:
[dummy,dummy,raw] = xlsread(fullfile(source_dir,source_files(i).name));
Equity_only = cellfun(@isfinite,raw(:,2),'un',0)
raw=cell2table(raw)
raw(Equity_only,:) = []
raw = table2cell(raw);
Help please!
Respuestas (3)
Jos (10584)
el 9 de Jul. de 2014
Despite raw being a cell, are there only numbers in the second column? If so:
tf = isnan(vertcat(raw{:,2})) ;
raw2 = raw(tf,:)
If not
tf = cellfun(@(E) numel(E)==1 && isnumeric(E) && isnan(E), raw(:,2))
raw2 = raw(tf,:)
(I am not sure about the "not" in your title. Perhaps you need ~tf ??)
Florent
el 10 de Jul. de 2014
Editada: Star Strider
el 10 de Jul. de 2014
Andrei Bobrov
el 10 de Jul. de 2014
tf = cellfun(@(E) (numel(E)==1 && isnumeric(E) && isnan(E))...
||(all(isletter(E))&&strcmp('CALL',E)), raw(:,2));
raw2 = raw(tf,:);
Categorías
Más información sobre Numeric Types en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!