How to shuffle two matrices in a consistent manner

조회 수: 5 (최근 30일)
raf
raf 2021년 10월 20일
댓글: raf 2021년 10월 20일
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개)

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by