Группировать значения в разных строках по индексу первого столбца
Этот вопрос является результатомMatLab (или любой другой язык) для преобразования матрицы или CSV, чтобы поместить значения 2-го столбца в ту же строку, если значение 1-го столбца совпадает?
Если
A = [2 3 234 ; 2 44 33; 2 12 22; 3 123 99; 3 1232 45; 5 224 57]
1-й столбец | 2-й столбец | 3-я колонна2 3 234
2 44 33
2 12 22
3 123 99
3 1232 45
5 224 57
затем работает
[U ix iu] = unique(A(:,1) );
r= accumarray( iu, A(:,2:3), [], @(x) {x'} )
покажет мне ошибку
Error using accumarray
Second input VAL must be a vector with one element for each row in SUBS, or a
scalar.
я хочу сделать
1-й цв | 2-й столб | 3-й цв | 4 полковник | 5 полковник | 6 полковник | 7-й полк2 3 234 44 33 12 22
3 123 99 1232 45
5 224 57
Я знаю, как это сделать, используя for и if, но это тратит слишком много времени на большие данные.
Как я могу это сделать?
Заранее спасибо!