Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何从单元格数组中删除重复的行对?_Matlab - Fatal编程技术网

Matlab 如何从单元格数组中删除重复的行对?

Matlab 如何从单元格数组中删除重复的行对?,matlab,Matlab,昨天我发了这个问题,但是帮我解决这个问题的朋友没有回复我,他写的那行有错误。 其他人能帮我吗;我自己试过,但没找到我想要的。 短暂地 我想删除重复的行,比如:{'A','B';'B','A';'C','D';'C','D'} 只保留这样一行:{'A','B','C','D'} 例如: “TPB”“TP53” “呃”“TP53” “SIT1”“GRB2” “ROHA”“BRCA1” “TP53”“厄尔” “ROHA”“BRCA1” 期望输出: “TPB”“TP53” “呃”“TP53” “SIT1

昨天我发了这个问题,但是帮我解决这个问题的朋友没有回复我,他写的那行有错误。 其他人能帮我吗;我自己试过,但没找到我想要的。 短暂地 我想删除重复的行,比如:{'A','B';'B','A';'C','D';'C','D'} 只保留这样一行:{'A','B','C','D'}

例如:

“TPB”“TP53”

“呃”“TP53”

“SIT1”“GRB2”

“ROHA”“BRCA1”

“TP53”“厄尔”

“ROHA”“BRCA1”

期望输出:

“TPB”“TP53”

“呃”“TP53”

“SIT1”“GRB2”

“ROHA”“BRCA1”


您需要字符串的单元格数组的唯一行。您可以在单元格项上使用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'

Plz可能重复我尝试过的任何帮助,但没有结果!!!!@RTL,我说我已经发布了这个问题,但是那个写代码的人没有回答我,因为他的代码的第二部分有一个错误,如果它正确的话,我需要帮助修复它。谢谢你的回答,但是我得到了这个错误:索引超过了矩阵维度。PPIHumanet_数据第31行中的错误uniqueRows=rowsdoubleUnique;我正在使用一个巨大的输入单元,大小相同,如果可能的话,我可以与您共享。将其加载到一些文件共享系统google drive、dropbox等,并共享下载链接。我编辑了问题并共享了数据,非常感谢您的帮助!