How to extract rows based on column values in a matrix?
이전 댓글 표시
I am working with data that is in a 152867x2 matrix. The first column contains one of three values ranging from 1-3. The second column, however, has a unique value for each row (see example data below). I would like to know how I can write a program that can extract 3 matrices according to the value of the first column (see example output). I'm new to MATLAB, so explicit instructions would be fantastic. Thanks.
Example Data
3, 0.1234
1, 0.1345
1, 0.1456
2, 0.1567
1, 0.1678
1, 0.1789
Desired Output - Three Matrices
1) 3, 0.1234
2) 2, 0.1567
3) 1, 0.1345
1, 0.1456
1, 0.1678
1, 0.1789
댓글 수: 2
Kevin Maakomane
2022년 8월 19일
extract=data(row_nu,:)
or
tranpose data using ' operator and extract column wise
baby
2022년 9월 20일
great, thank you, works for me as well.
채택된 답변
추가 답변 (1개)
This wasn't an option when the question was asked originally but depending what you're trying to do with those "3 matrices", using some of the functions in the 'Grouping and Binning Data' section on this documentation page may be useful. For example, to compute the mean of values in the second column that have the same value in the first column:
A = [3, 0.1234;
1, 0.1345;
1, 0.1456;
2, 0.1567;
1, 0.1678;
1, 0.1789];
G = groupsummary(A, A(:, 1), @mean)
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!