Finding NaNs in cell array.
    19 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I create a cell array by importing some data (text and empty cells) from excel. It looks like this.. "Data_text =
Columns 1 through 7
    'Speed'    'Load'    [NaN]    'Sample'    'Calgen_Model'    'DOE_BSNOx'    'DOE_Pmax'
I want to find columns which contains NaN (from empty cells in excel) and delete those columns. I tried following but it does not seems to work.
Column_Names = cell2table(Data_text);
a = cellfun(@isnan,Data_text);
Thanks,
1 comentario
Respuestas (3)
  Fangjun Jiang
      
      
 el 20 de Mayo de 2016
        Data_text={'Speed'    'Load'    [NaN]    'Sample'};
index=cellfun(@isnan,Data_text,'uni',false);
index=cellfun(@any,index);
Data_text(index)=[];
2 comentarios
  Fangjun Jiang
      
      
 el 20 de Mayo de 2016
				Data_text={'a','b', nan ,'c';1,2,3,4};
index=cellfun(@isnan,Data_text(1,:),'uni',false);
index=cellfun(@any,index);
Data_text(:,index)=[];
The first index is still a cell array. Use cellfun(@any,...) to get the logical index. Type "help any" to find the info for the any() function.
  Azzi Abdelmalek
      
      
 el 20 de Mayo de 2016
        Data_text={'Speed' 'Load' nan 'Sample'}
Data_text(:,cellfun(@(x) any(isnan(x)),Data_text(1,:)))=[]
0 comentarios
Ver también
Categorías
				Más información sobre Matrix Indexing en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



