我有一张大小为2775x2的表格,只有文字:
'Papio cynocephalus' 'Papio cynocephalus'
'Cercopithecus kandti' 'Papio cynocephalus'
'Papio cynocephalus' 'Human in vivo'
'Papio cynocephalus' 'Papio cynocephalus'
'Gorilla beringei' 'Papio cynocephalus'
'Papio cynocephalus' 'Gorilla gorilla'
'Papio cynocephalus' 'Human in vivo'
'Papio cynocephalus' 'Papio cynocephalus'
...
总的来说,有5种不同的类别(= 5种灵长类动物,两种类型都相同), 我想建立一个大小为111x2的新表,其中每一行表示25行(l1-> 125,然后l26-> 150,然后l51->的每个块的最常见类别(对于两列)。 l75 ... - > l2775)。为什么111?因为111 = 2775/25。 知道怎么办吗?非常感谢提前!!
答案 0 :(得分:0)
这是我的建议。
categorical
mode
以下是一些生成示例数据和演示的代码:
names = {'Alpha','Beta','Gamma','Delta','Echo'}';
A = names(randi(5,2775,1));
B = names(randi(5,2775,1));
txtTable = table(A,B); % This is the kind of table you have
现在将txtTable
转换为单元格数组以进行整形并将单元格数组转换为categorical
textsWide = categorical(reshape(table2cell(txtTable),25,[]));
mostFrequent = mode(textsWide,2); % Find mode in each column