How to shuffle two matrices in a consistent manner

23 Ansichten (letzte 30 Tage)
raf
raf am 20 Okt. 2021
Kommentiert: raf am 20 Okt. 2021
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.

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Manage Products finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by