2012-11-13 4 views
7

Ho due seguenti DTM-s:R DocumentTermMatrix elenco di controllo non funziona, ignora automaticamente parametri ignoti

dtm <- DocumentTermMatrix(t) 

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

Quando a implementare questo, vedo due uguali DTM-s e se apro il dtmImproved, ci sono parole con 3 simboli. Perché il parametro minWordLength non funziona? Grazie!

> 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

Inoltre, quando aggiungo niente nella "lista (...)" non succede nulla, nessun avviso o qlc altro –

risposta

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

questo risolve il problema! La mancanza di documentazione adeguata me Mads veramente basso (:.

+1

Quale versione di 'tm' stai usando. L'aiuto per 'TermDocumentMatrix' definisce le opzioni globali e fornisce un collegamento alle opzioni locali. 'minWordLength' non è mai elencato come opzione, ma' wordLengths' è descritto in dettaglio. La documentazione appare ben scritta e facile da seguire. – mnel

+0

Sì, è stato quello che ha aiutato, sfortunatamente non ho trovato su Google, ma è più come la mia colpa) –

+1

@mnel: ignora silenziosamente qualsiasi parametro che non riconosce, anche ad es. '(control = list (bounds = list (c (0, Inf))))' invece di '(control = list (bounds = list (global = c (0, Inf))))'. Questo è un grande dolore. Hai individuato l'etichetta mancante "globale"? Non ho ... – smci

0

E 'sempre una buona idea di leggere il codice sorgente, se disponibile leggere il codice sorgente della funzione wordcloud @ GitHub, qui è quello che dice:
# Autore : ianfellows
.....
se (min.freq> max (freq))
min.freq <-0

Così il vostro DocumentTermMatrix, ha restituito un max (freq) < min.freq vincolati che hai impostato, cioè non-dei termini visualizzati in più del limite di min.freq impostato.

Spero che questo aiuti MJJ

Problemi correlati