Info
此问题已关闭。 请重新打开它进行编辑或回答。
Comparing array with any element of the array
1 次查看(过去 30 天)
显示 更早的评论
Hello All.
I have vector named classes
classes =
1
2
I need to compare all classes element with
D = dataset(dataset(:,p)==X,:);
Briefly equation above should compareing with all classes elements, for my example X should be 1 or 2
X can be any element of classes vector, in my code i compare p th element of the dataset array with X , X is one of the elemeny of classes vector.
I just create a example classes matrix it can be any array.
4 个评论
回答(1 个)
Guillaume
2019-12-18
Ok, now I understand what you want to do.
Note that datasets have been deprecated for a while and it's recommended you use tables instead. I'm not familiar with datasets and I don't have the toolbox so the following is for tables. You can easily transform your dataset into a table with dataset2table.
First, I'll note that typically splitting a table into several tables is rarely useful. Matlab has plenty of functions that allows you to perform group statistics according to a particular column. These work on a single table. See groupsummary, grouptransform, groupfilter, etc.
If you really want to split the table into multiple tables:
g = findgroup(yourtable(:, p));
splittables = splitapply(@(rows) {yourtable(rows, :)}, (1:height(yourtable)).', g); %split table into cell array of tables
2 个评论
Guillaume
2019-12-18
a) Go back to your lecturer and tell him to move on with the time. datasets have long been deprecated and don't have as many useful features as tables.
b) You can trivially convert tables back to dataset with table2dataset
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!