How to shuffle two matrices in a consistent manner

조회 수: 29 (최근 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개)

카테고리

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