2012-04-01 7 views
0

Ich versuche textcat Paket für n-Gramm-Analyse verwendet werden, die die folgende Funktion hat:Fragen über das Format für ein bestimmtes Argument

textcat(x, p = TC_char_profiles, method = "CT", ..., options = list()) 

Die Funktion Spezifikation gibt an, dass

Das Argument x kann ein Zeichenvektor von Texten sein, oder ein R-Objekt, das unter Verwendung von as.character dazu gezwungen werden kann.

Ich weiß nicht, was bedeutet das "R-Objekt, das mit diesem as.character dazu gezwungen werden kann"? Mit anderen Worten, ich verstehe nicht ganz, was das richtige Eingabeformat für dieses x sein sollte, gemäß der obigen Beschreibung. Angenommen, ich habe 100 Dokumente. Wie übertrage ich diese Dokumente in das Format x?

Antwort

1

Sie haben wirklich zwei Fragen hier.

(1). Was bedeutet das "R-Objekt, das mit Hilfe von as.character dazu gezwungen werden kann"?

Das bedeutet, dass andere Klassen von R-Objekt übergeben werden können, anstelle von nur character. Ein Beispiel ist ein Faktor, bei dem as.character(x) die zusätzlichen Funktionen löscht und zu einem einfachen Zeichenvektor zurückkehrt.

as.character (1: 2) ## einem Vektor c geben ("1", "2")

Diese für andere Klassen abgeleitet erstreckt, und es ist ein Standard-R-Idiom ein Verfahren zu schaffen für gemeinsame Funktionen wie as.character, die einen Zwang von jeder gegebenen Klasse zum Zeichen definieren.

(2). In welchem ​​Format müssen meine Daten in textcat eingegeben werden?

Kurz gesagt, es muss ein Zeichenvektor sein oder etwas, das zu einem gezwungen werden kann. Sie fragen nach Dokumenten, also haben Sie vermutlich Textdateien. Die Funktion readLines liefert einen Zeichenvektor aus einer Textdatei, einen Vektor so lang wie die Anzahl der Zeilen in der Datei. Noch mehr für diese Frage braucht viel mehr Details von Ihnen, was die Analyse tun soll, muss es in Zeilen von Text aus einer Datei gebrochen werden? In Worte gebrochen? Sätze von Wörtern/Wörtern aus verschiedenen Dateien als separate Sets behalten? Und so weiter.

In wirklich Vereinfacht ausgedrückt das Beispiel in readLines verwenden, können Sie etwas tun, aber ausführlicher mehr Informationen für Ihre Frage braucht:

cat("TITLE extra line", "2 3 5 7", "", "11 13 17", file="ex.data", 
    sep="\n") 
readLines("ex.data", n=-1) 
x <-  readLines("ex.data", n=-1) 

require(textcat) 
textcat(x) 
+0

Dank. Mein Experiment beinhaltet eine Reihe von Dokumenten, sagen wir 100 Dokumente. Basierend auf dem Beispiel, das Sie angegeben haben, sieht es so aus, als sollte ich eine Schleife schreiben, um jedes Dokument mit Hilfe von Readlines zu iterieren, und das Ergebnis für jedes Dokument speichern. Ist mein Verständnis richtig? – user288609