合并第二列到最后一列以获取第一列中的重复项
Posted
技术标签:
【中文标题】合并第二列到最后一列以获取第一列中的重复项【英文标题】:Merge 2nd to last columns for duplicates in 1st column 【发布时间】:2013-07-31 07:33:47 【问题描述】:如果 A 的第一列重复,我想将 A 的第二列合并到结束列
来自
A = [2 3 1;
3 4 2;
2 6 8]
到
B1=2 3 1 6 8
B2=3 4 2 NaN NaN
或
B = [2 3 1 6 8;
3 4 2 NaN NaN]
行顺序无关紧要。
我的第一个计划是
A=sortrows(A,1); % sort by 1st col
然后根据第1列将A划分为各种矩阵(即不同第1列元素的不同矩阵)
然后 horzcat each 2:end 每个矩阵的元素。
然后以某种方式将它们连接成一个对象。
这只是我的计划或想象,虽然我不知道这是否可能。
【问题讨论】:
相关问题:Group values in different rows by their first-column index 【参考方案1】:这是一种帮助您入门的方法。它将使用0
而不是NaN
填充:
B = sortrows(A,1);
C = B(1,:);
for row = 2:size(B,1)
if B(row,1) == C(end,1)
C(end, end+1:end+2) = B(row, 2:3);
else
C(end+1, 1:3) = B(row, :);
end
end
或者您也可以使用元胞数组来做同样的事情,而根本不需要填充:
B = sortrows(A,1);
C = B(1,:);
for row = 2:size(B,1)
if B(row,1) == Cend(1)
Cend(end+1:end+2) = B(row, 2:3);
else
Cend+1 = B(row, :);
end
end
【讨论】:
以上是关于合并第二列到最后一列以获取第一列中的重复项的主要内容,如果未能解决你的问题,请参考以下文章
JQuery Sortable + Bootstrap - 第一列到最后一列 - 项目消失