所以例如我有
第一栏 | 第二栏
1 1
1 3
1 9
2 4
2 7
我想把它转换成
第一栏 | 第二栏 | 第三栏 | 第四栏
1 1 3 9
2 4 7 3
(3,4) 元素应该为空。
我可以通过 Matlab 使用 for 和 if 来做到这一点,但是对于大量数据来说需要太多时间,所以我需要一个更优雅、更聪明的想法。
我更喜欢 Matlab,但其他语言也可以。(如果该语言可以解决我的问题,我可以将矩阵导出为 csv 或 xlsx 或 txt 并使用其他语言。)
先感谢您!
[更新]
如果
A = [2 3 234 ; 2 44 33; 2 12 22; 3 123 99; 3 1232 45; 5 224 57]
第一栏 | 第二栏 | 第三栏
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.
我要实现
第一栏 | 第二栏 | 第三栏 | 第四栏 | 第五栏 | 第六列| 第七栏
2 3 234 44 33 12 22
3 123 99 1232 45
5 224 57
我怎样才能做到这一点?先感谢您!