How to shuffle two matrices in a consistent manner

24 次查看(过去 30 天)
I am using the fisher iris data set:
load fisheriris
X = meas
Y = species
P = randperm(length(X));
X = X(P);
Y = Y(P);
I want to shuffle the data such that if the first entry in X is [5.1 3.5 1.4 0.2] and it's corresponding Y is ['setosa'] then if that X entry is shuffled to say the 30th row, then the same corresponding Y entry is also shuffled to the 30th row.
Currently the code seems to work for Y but returns X as a row vector of 150 columns which makes sense per the documentation but I don't know how to change it to achieve my workflow. Any help would be great, thanks.

采纳的回答

Jan
Jan 2021-10-20
I assume, X is a matrix and you want to shuffle the rows. Then:
X = X(P, :);
% ^

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Manage Products 的更多信息

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by