how to separate a matrix according to class labels?
2 次查看(过去 30 天)
显示 更早的评论
Hi everybody,
I have a matrix with size of 1500x3. Third column of the this matrix contains the class labes as a numeric like 3,2,1 and size of the each classes is uncertain. I want to divide the main matrix into three different matrices according to these three different classes. Only elements from class 1 will be taken in the first matrix, Only elements from class 2 will be taken in the second matrix, Only elements from class 3 will be taken in the third matrix.
0 个评论
回答(1 个)
Guillaume
2020-3-7
classmatrices = splitapply(@(rows) {yourmatrix(rows, :)}, (1:size(yourmatrix, 1)'), yourmatrix(:, 3))
is one way. Note that in matlab it's rarely useful to do this splitting. It's often easier to work on the whole 1500x3 matrix and use aggregation functions such as groupsummary.
0 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!