2012-11-13 8 views
7

Ich habe zwei folgenden DTM-s:R DocumentTermMatrix Steuerungsliste nicht funktioniert, ignoriert leise unbekannte Parameter

dtm <- DocumentTermMatrix(t) 

dtmImproved <- DocumentTermMatrix(t, 
       control=list(minWordLength = 4, minDocFreq=5)) 

Als ich dies implementieren, ich zwei gleiche DTM-s zu sehen, und wenn ich die dtmImproved öffnen, gibt es Wörter mit 3 Symbolen. Warum funktioniert der Parameter minWordLength nicht? Vielen Dank!

> dtm 
A document-term matrix (591 documents, 10533 terms) 

Non-/sparse entries: 43058/6181945 
Sparsity   : 99% 
Maximal term length: 135 
Weighting   : term frequency (tf) 
> dtmImproved 
A document-term matrix (591 documents, 10533 terms) 

Non-/sparse entries: 43058/6181945 
Sparsity   : 99% 
Maximal term length: 135 
Weighting   : term frequency (tf) 
+0

Außerdem, wenn ich etwas in die „Liste (...)“ nichts passiert, keine Warnungen oder sth sonst –

Antwort

23
dtmImproved <- DocumentTermMatrix(t, control=list(wordLengths=c(4, 15), 
            bounds = list(global = c(5,Inf)))) 

Dies löst das Problem! Der Mangel an geeigneter Dokumentation mads mir wirklich nach unten. (:

+1

Welche Version von 'tm' hinzufügen, werden Sie verwenden. Die Hilfe für 'TermDocumentMatrix' legt die globalen Optionen fest und gibt eine Verknüpfung zu den lokalen Optionen. 'minWordLength' wird niemals als eine Option aufgelistet, aber' wordLengths' wird im Detail beschrieben. Die Dokumentation erscheint gut geschrieben und leicht zu folgen. – mnel

+0

Ja, das war derjenige, der geholfen hat, konnte leider nicht durch googlen finden, aber es ist mehr wie meine Schuld) –

+1

@Mnel: es ignoriert stillschweigend alle Parameter, die es nicht erkennt, sogar z. '(control = list (bounds = list (c (0, Inf))))" statt "(control = list (bounds = list (global = c (0, Inf)))). Das ist ein großer Schmerz. Haben Sie das fehlende Label "global" entdeckt? Ich habe nicht ... – smci

0

Es ist immer eine gute Idee, den Quellcode, wenn verfügbar lesen Lesen Sie den Quellcode der Wordcloud Funktion @ GitHub, hier ist das, was es sagt:
# Autor : ianfellows
.....
if (min.freq> max (Freq))
min.freq <-0

Ihre So DocumentTermMatrix, eine max (Freq) gebunden < min.freq zurück, dass Sie setzen, dh nicht-der Begriffe erschien in mehr als Ihre min.freq Grenze, die Sie setzen.

Hoffnung hilft diese MJJ

Verwandte Themen