2016-06-06 10 views
-3

Ich habe eine Textdatei und ich schrieb einige Befehle mit tm Paket und fand die Häufigkeit der ganzen Wörter. Jetzt möchte ich die Liste der Wörter haben, deren Frequenzen eins, zwei oder drei sind. Wie kann ich das tun?Finden Sie die Häufigkeit eines bestimmten Wortes in r

frequency <- colSums(dtm2) 
frequency <- sort(frequency, decreasing=TRUE) 
words <- names(frequency) 
words 
words[1] 

Wie Sie sehen das letzte Kommando ein Wort zurückgibt, die höchste Frequenz hat und in meinem Beispiel ist dieses Wort „ohne“ aber ich will die Liste der Wörter, die nicht wiederholt worden oder wurden zwei- oder dreimal wiederholt .

TNX

+3

* "Wie Sie sehen ..." * sehen wir nichts, weil Sie keine Beispieldaten geteilt haben. Sehen Sie sich [an, wie Sie ein reproduzierbares Beispiel erstellen können] (http://stackoverflow.com/q/5963269/903061). – Gregor

+0

Meine beste Vermutung ist, dass Sie 'Wörter [Häufigkeit == 1]', sagen wir, für Wörter, die genau einmal vorkommen. – Gregor

+0

Hallo, Danke, es funktioniert gut. Tut mir leid, dass ich eine einfache Frage gestellt habe. Ich habe einen klinischen Hintergrund und habe gerade angefangen, R selbst zu lernen. – marjan

Antwort

0

I. Vector df mit Worten gespeichert:

> df <- c("AAA","BB","DD","AA","AAA","CCC","PP","PP","CC","LL","OOO","LL","CC","AAA") 
> df 
# [1] "AAA" "BB" "DD" "AA" "AAA" "CCC" "PP" "PP" "CC" "LL" "OOO" "LL" 
# [13] "CC" "AAA" 

II. Tabelle mit der Häufigkeit jedes Wortes:

> table(df) 
# df 
# AA AAA BB CC CCC DD LL OOO PP 
# 1 3 1 2 1 1 2 1 2 

III. Frequenz jedes Wort in result Datenrahmen gespeichert

> result <- as.data.frame(table(df)) 
> result 
# df Freq 
# 1 AA 1 
# 2 AAA 3 
# 3 BB 1 
# 4 CC 2 
# 5 CCC 1 
# 6 DD 1 
# 7 LL 2 
# 8 OOO 1 
# 9 PP 2 

IV. Bestell Wörter durch eine Verringerung der Frequenz:

> result[order(result$Freq,decreasing=T),] 
# df Freq 
# 2 AAA 3 
# 4 CC 2 
# 7 LL 2 
# 9 PP 2 
# 1 AA 1 
# 3 BB 1 
# 5 CCC 1 
# 6 DD 1 
# 8 OOO 1 

V. Frequenz durch Angabe Wörter:

> result[result$df=="AAA",] 
    # df Freq 
    # 2 AAA 3 
    > result[result$df=="LL",] 
    # df Freq 
    # 1 LL 2 
    > result[result$df=="DD",] 
    # df Freq 
    # 6 DD 1 

VI. Wörter nach der Angabe der Häufigkeit:

> unique(df[which(result$Freq == 1)]) 
    # [1] "AAA" "DD" "CCC" "PP" 
    > unique(df[which(result$Freq == 2)]) 
    # [1] "AA" "PP" "CC" 
    > unique(df[which(result$Freq == 3)]) 
    # [1] "BB" 
    > unique(df[which(result$Freq == 4)]) 
    # character(0) 
+0

Hallo, Danke Sowmaya. Es klappt. Könnten Sie mir bitte irgendein Buch oder eine Ressource vorschlagen, die ich verbessern kann? – marjan

+0

Hallo, es gibt viele Bücher, pdfs, die ich verweise, keine besondere, obwohl Sie alle diese Links hier in diesem Link finden können: http://stackoverflow.com/tags/r/info Versuchen Sie zu üben, indem Sie kleine kleine schreiben Codes selbst, lernen Sie alle Grundlagen schneller kennen. –

0

In R, x[x.freq < 4] die Phrase wird alle Werte in x zurück, die x.freq < 4 befriedigen. Sie werden so etwas verwenden wollen, vielleicht auf die Variable, die Sie frequency aufgerufen haben, obwohl Sie es möglicherweise zuerst etwas anders formatieren müssen.

Verwandte Themen