昨天我发布了这个问题,但帮助我解决这个问题的朋友没有回复我,他写的行有错误。 任何其他人都可以帮助我;我试过自己,但没找到我想要的东西。 简单地说, 我想删除重复的行说:{'A','B'; 'B','A';'C','D'; '光盘'} 并且只保留一行如下:{'A','B';'C','D'}
示例:
'TPB''TP53'
'ELL''TP53'
'SIT1''GRB2'
'ROHA''BRCA1'
'TP53''ELL'
'ROHA''BRCA1'
期望的输出:
'TPB''TP53'
'ELL''TP53'
'SIT1''GRB2'
'ROHA''BRCA1'
https://drive.google.com/file/d/0B6u8fZadKIp2bEVCN1IxVDBBWG8/view
答案 0 :(得分:1)
你想要独特的字符串数组。您可以对单元格条目使用unique
来获取数值矩阵,然后在矩阵上使用unique
(再次)和参数'rows'
来获取唯一的行:
% input cell
C = {'TPB' 'TP53';
'ELL' 'TP53';
'SIT1' 'GRB2';
'ROHA' 'BRCA1';
'TP53' 'ELL';
'ROHA' 'BRCA1'};
% get unique cell entries as a numeric array
[~, ~, num] = unique(C,'stable');
% sort columns to eliminate [a,b;b,a] situations
num = sort(reshape(num,size(C)),2);
% get unique rows indexes
[~,idx,~] = unique(num,'rows');
res = C(idx,:)
输出:
4×2 cell array
'TPB' 'TP53'
'ELL' 'TP53'
'SIT1' 'GRB2'
'ROHA' 'BRCA1'