dataset array - how can new data be added from a cell array that has some missing elements
古いコメントを表示
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
採用された回答
その他の回答 (1 件)
Oleg Komarov
2011 年 8 月 29 日
% 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.
カテゴリ
ヘルプ センター および File Exchange で Cell Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!