2016-09-12 4 views
0

Ich habe eine Tabelle der Größe 2775x2, nur mit Text:Pooling Linien in einer kategorialen Variablen mit MATLAB

'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' 
... 

Insgesamt gibt es 5 verschiedene Kategorien (= 5 Primatenarten, die in beiden colunms), Ich möchte eine neue Tabelle der Größe 111x2 erstellen, wobei jede Zeile die häufigste Kategorie (für beide Spalten) für jeden Block von 25 Zeilen (l1-> l25, dann l26-> l50, dann l51-> l75) angibt. .. -> L2775). Warum 111? Weil 111 = 2775/25. Irgendeine Idee, wie man vorgeht? Vielen Dank im Voraus !!

+0

was haben Sie versucht? Prüfe Funktionen wie 'unique' oder' histogram' oder 'strcmp' und komm dann zurück. –

Antwort

0

Hier ist, was ich vorschlagen würde.

  1. Erhalten den Text aus der Tabelle in eine Zellenanordnung
  2. das Zellenarray zu 111 Zeilen Reshape (und 50 Spalten) und Konvertieren zu categorical
  3. mode für jede Spalte Finden

Hier ist ein Code, um Beispieldaten und eine Demo zu erzeugen:

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 

Jetzt konvertieren txtTable zu einer Zellenanordnung zum Umformen und wandeln das Zellenfeld in eine categorical

textsWide = categorical(reshape(table2cell(txtTable),25,[])); 
mostFrequent = mode(textsWide,2); % Find mode in each column 
+0

danke! gute Idee, den Tisch zuerst umzugestalten. Dann sollte ich mit der Funktion "mode" die häufigste Kategorie in jeder Spalte extrahieren können. – Julien

+0

'mode' ist ein guter Vorschlag, um den häufigsten Gegenstand zu bekommen, ich habe mich bei der Antwort verirrt und statt dessen' grpstats' benutzt. Wird meine Antwort aktualisieren –

Verwandte Themen