extract multiple submatrices from a large matrix based on specific criterion

I have a Matrix A (162301x13 double) which first column contains 625 different ID numbers (they repeat that is why i have 162301 rows) and the other columns contain SL values for 12 different frequency values.
i need to extract submatrices from this large matrix for each unique ID value. For example (see attached), ID 23 contains 8 rows of values for the SLs columns and i want to extract this submatrix from the large matrix.
Any ideas?
Thanks

 採用された回答

madhan ravi
madhan ravi 2019 年 5 月 14 日
編集済み: madhan ravi 2019 年 5 月 14 日
T=readtable('mydatfile.csv')% Note here it’s just your filename;
Wanted = T(T.id==23,:) %

9 件のコメント

madhan ravi
madhan ravi 2019 年 5 月 14 日
????? What ?
Priscilla Schmitz
Priscilla Schmitz 2019 年 5 月 14 日
Sorry, your answer helped me! thanks a lot
Priscilla Schmitz
Priscilla Schmitz 2019 年 5 月 14 日
Since it would be too time consuming if i change the ID number manually, do you know an alternative way to do it? like a loop or something?
Those are the IDs that I have (attached)
u = unique(T.id);
for k = 1:u
Wanted{k} = T{T.id==23,:};
end
Priscilla Schmitz
Priscilla Schmitz 2019 年 5 月 14 日
When i use this code, matlab stores only T.id==23 k times and that is not what i need. i need to have k number of submatrices for each ID number at the end
madhan ravi
madhan ravi 2019 年 5 月 14 日
編集済み: madhan ravi 2019 年 5 月 14 日
u = unique(T.id);
for k = 1:numel(u)
Wanted{k} = T{T.id==u(k),:};
end
Priscilla Schmitz
Priscilla Schmitz 2019 年 5 月 14 日
Now it works!
Thank you a lot
Priscilla Schmitz
Priscilla Schmitz 2019 年 5 月 14 日
Just one last question, how do I conver this multiple cell arrays (1x379) in multiple matrices?
cat(3,Wanted{:}) % works only if each cell has same number of rows otherwise keeping it this way is the only option.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by