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 Exchange で Multidimensional Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by