dataset array - how can new data be added from a cell array that has some missing elements
Afficher commentaires plus anciens
I've got numeric data in a cell array that has some empty elements, and I'd like to add this to a dataset array. If I convert to a matrix first, the indexing will be incorrect. I've tried with no avail the customary ways of assignmet to structures:
1) [dataset.prop] = propCellArray{:}; % this only copies 1st cell contents only
[dataset.prop] = deal(propCellArray); % contents remain cell arrays, and any attempt to convert to mat causes indexing problems
Anyone know the correct syntax?
thanks,
Aaron
Réponse acceptée
Plus de réponses (1)
Oleg Komarov
le 29 Août 2011
% Create sample cell array
propCellArray = num2cell(rand(20,1));
propCellArray(randi(20,3,1)) = {[]};
% Create sample dataset
dtset = dataset({[],'Prop'});
% Index non-empty and replace with NaN
propCellArray(cellfun('isempty',propCellArray)) = {NaN};
dtset.Prop = cat(1,propCellArray{:});
Other ways will give you dtset.Prop as one element containing the whole propCellArray converted to double and by default padded with zeros where it was empty.
1 commentaire
Aaron Gruber
le 30 Août 2011
Catégories
En savoir plus sur Cell Arrays dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!