How to shuffle two matrices in a consistent manner

23 vues (au cours des 30 derniers jours)
raf
raf le 20 Oct 2021
Commenté : raf le 20 Oct 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.

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Manage Products dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by