R-Skripts ausführen
Konzept-Informationen
Analysieren Sie eine Analytics-Tabelle in einem externen R-Skript, und geben Sie die Daten dann aus R zurück, um innerhalb des Analytics-Projekts eine neue Tabelle zu erstellen. Quelldaten werden als ein Datenrahmen an R übergeben, den Sie mit einer bestehenden Funktion referenzieren können.
Mit Analytics-Daten in R arbeiten
Wenn Sie das R-Skript erstellen und aus Analytics heraus ausführen möchten, machen Sie sich damit vertraut, wie Daten zwischen Analytics und R ausgetauscht werden. Sie müssen die R-Funktionen von Analytics in Ihrem R-Skript verwenden, um den Befehl RCOMMAND erfolgreich ausführen zu können.
Analytics-Daten im R-Skript referenzieren
Die Analytics-Tabelle wird als ein R-Datenrahmen an das Skript übergeben. Datenrahmen sind Tabellendatenobjekte, die Spalten mit unterschiedlichen Datenmodi (bzw. Datentypen) enthalten können.
Um in einem R-Skript mit einem durch Analytics erstellten Datenrahmen arbeiten zu können, rufen Sie die Funktion acl.readData() auf und speichern den zurückgegebenen Datenrahmen in einer Variable:Analytics
# Speichert die Analytics-Tabelle in einem Datenrahmen namens „meineTabelle“, der im gesamten Skript referenziert werden kann
meineTabelle<-acl.readData()
Um im Datenrahmen Daten aus einer Zelle abzurufen, können Sie wie folgt vorgehen:
-
Zeilen- und Spaltenkoordinaten verwenden:
# Ruft den Wert in der ersten Zeile und zweiten Spalte des Datenrahmens ab
meineTabelle[1,2]Hinweis
Die Koordinaten basieren auf der Reihenfolge der Felder im Befehl, nicht auf dem Tabellenlayout oder der Ansicht, die momentan geöffnet ist.
-
Zeilen- und Spaltennamen verwenden:
# Ruft den Wert in der ersten Zeile und der Spalte „meinSpaltentitel” des Datenrahmens ab
meineTabelle["1","meinSpaltentitel"]Sie müssen die KEEPTITLE-Option des Befehls festlegen, um Spaltennamen zu verwenden.
Reihen werden als „1”, „2”, „3” bezeichnet und entsprechend hochgezählt. Sie können auch eine Kombination aus Namen und Koordinaten verwenden.
Daten wieder an Analytics zurückgeben
Um einen Datenrahmen oder eine Matrix wieder an Analytics zurückzugeben und eine neue Tabelle zu erstellen, verwenden Sie die folgende Syntax:
# Gibt Datenrahmen „meineNeueTabelle“ an Analytics zurück und erstellt eine neue Tabelle
acl.output<-meineNeueTabelle
Hinweis
Sie müssen einen Datenrahmen oder eine Matrix an Analytics zurückgeben, sobald das R-Skript abgeschlossen wird. Stellen Sie sicher, dass die Spalten des Datenrahmens oder der Matrix nur atomare Werte und keine Listen, Matrizen, Arrays oder nicht atomare Objekte enthalten. Falls die Werte nicht in Analytics-Datentypen umgewandelt werden können, schlägt der Befehl fehl.
R-Datenzuordnung
Analytics-Datentypen werden durch einen Umwandlungsprozess zwischen dem Analytics-Projekt und dem R-Skript in R-Datentypen umgewandelt:
| Analytics-Datentyp | R-Datentyp(en) |
|---|---|
| Logisch | Logisch |
| Numerisch | Numerisch |
| Zeichen | Zeichen |
| Datumzeit | Datum, POSIXct, POSIXlt |
Performance und Dateigrößenbeschränkungen
Die Zeit zur Ausführung Ihres R-Skripts und zur Verarbeitung der zurückgegebenen Daten nimmt zu, falls die Eingabedaten einen Umfang von 1 GB überschreiten. R unterstützt keine Eingabedaten von 2 GB oder darüber.
Auch die Anzahl der an R geschickten Datensätze wirkt sich auf die Performance aus. Wenn zwei Tabellen dieselbe Dateigröße, aber eine unterschiedliche Datensatzanzahl aufweisen, wird die Tabelle mit weniger Datensätzen schneller verarbeitet.
Zeichendaten mit mehreren Bytes handhaben
Wenn Sie Daten an R in einem Multi-Byte-Zeichensatz, wie z.B. Chinesisch, senden, müssen Sie in Ihrem R-Skript das entsprechende Systemgebietsschema setzen. Um erfolgreich eine Tabelle mit Multi-Byte-Daten an R zu senden, muss die erste Zeile des R-Skripts die folgende Funktion enthalten:
# Beispiel, in dem als Gebietsschema Chinesisch festgelegt wird
Sys.setlocale("LC_ALL","Chinese")
Weitere Informationen zu Sys.setlocale( ) finden Sie in der Dokumentation zu R.
Beispiel „Hallo Welt“
Analytics-Befehl
RCOMMAND FIELDS "Hallo"; " Welt!" TO "R_Ergebnis" RSCRIPT "C:\Skripts\R_Skripts\Analyse.r"
R-Skript (Analyse.r)
srcTable<-acl.readData()
# Tabelle zur Rückgabe an ACL erstellen
output<-data.frame(
c(srcTable[1,1]),
c(srcTable[1,2])
)
# Spaltennamen hinzufügen und Tabelle an ACL zurückgeben
colnames(output) <- c("Gruß","Betreff")
acl.output<-output
Ein R-Skript ausführen
- Wählen Sie im Menü Analyse > R.
Das Dialogfeld RCOMMAND wird geöffnet.
- Klicken Sie neben dem Feld R-Skript auf Durchsuchen und navigieren Sie auf Ihrem Computer zu dem R-Skript, das Sie ausführen möchten.
- Klicken Sie auf Datenfelder wählen, und fügen Sie dem Datenrahmen, den Analytics dem R-Skript zur Verfügung stellt, ein oder mehrere Felder hinzu.
Tipp
Sie können auch Ausdrücke als Felder in den Datenrahmen aufnehmen. Um einen Ausdruck zu erstellen, klicken Sie auf Ausdruck und verwenden die Funktionen, Felder und Operatoren, die Ihnen innerhalb des Dialogfelds zur Verfügung stehen. Weitere Informationen finden Sie unter Übersicht über den Ausdruck-Generator.
- Optional. Im Abschnitt RCOMMAND-Optionen definieren Sie, wie Sie Analytics-Daten an das R-Skript senden möchten.
Weitere Informationen finden Sie unter RCOMMAND-Optionen.
- Optional. Um die Datensätze zu filtern, die an das R-Skript geschickt werden, klicken Sie auf Wenn und verwenden das Dialogfeld Ausdruck-Generator zur Erstellung eines bedingten Ausdrucks, der als Filter verwendet wird.
Weitere Informationen über die Erstellung von Ausdrücken im Ausdruck-Generator finden Sie unter Erstellen von Ausdrücken mit dem Ausdruck-Generator.
- Um die Ausgabetabelle festzulegen, klicken Sie auf Nach und geben im Feld Dateiname einen Namen für die Tabelle und zugehörige .FIL- Datei an.
Verwenden Sie den Datei-Explorer, um auf den Ordner zu navigieren, den Sie zur Speicherung der Quelldatendatei verwenden möchten.
Hinweis
Analytics-Tabellennamen sind auf 64 alphanumerische Zeichen beschränkt, was die .FIL- Dateierweiterung nicht einbezieht. Der Name kann den Unterstrich beinhalten ( _ ), aber keine anderen Sonderzeichen oder Leerzeichen. Er kann nicht mit einer Ziffer beginnen.
- Optional. In der Registerkarte Weiter des Dialogfelds geben Sie Bereichsoptionen für den Befehl an.
Weitere Informationen finden Sie unter Registerkarte „Weiter“.
- Klicken Sie auf OK, um den Befehl auszuführen.
Optionen im Dialogfeld „RCOMMAND“
RCOMMAND-Optionen
| Option | Beschreibung |
|---|---|
| Mit Feldnamen exportieren | Verwenden Sie die Spaltentitel der Analytics-Quelltabelle als Kopfzeilenwerte des R-Datenrahmens. Hierdurch wird die Option KEEPTITLE des Befehls festgelegt. Sie ist notwendig, falls Sie Daten unter den Spaltentiteln innerhalb des R-Skripts abrufen möchten. |
| Spalten-Trennzeichen | Das Zeichen, das als Trennzeichen zwischen Feldern verwendet werden soll, wenn Daten an R geschickt werden. |
| Text-Kennzeichner |
Das Zeichen, das als Textkennzeichner zum Identifizieren von Feldwerten verwendet wird, wenn Daten an R gesendet werden. |
Registerkarte „Weiter“
| Option | Beschreibung |
|---|---|
| Alle | Verarbeitet alle Datensätze innerhalb der Ansicht (Standardauswahl). |
| Erste | Verarbeitet nur die angegebene Anzahl von Datensätzen und beginnt dabei mit dem ersten Datensatz in der Tabelle. |
| Nächstes |
Verarbeitet nur die angegebene Anzahl von Datensätzen und beginnt dabei mit dem aktuell ausgewählten Datensatz in der Tabelle. Hinweis Die Anzahl der Datensätze, die mit den Optionen Erste oder Nächste festgelegt werden, beziehen sich entweder auf die physikalische oder die indizierte Reihenfolge der Einträge in einer Tabelle. Filter oder Schnellsortierung der Ansicht werden vernachlässigt. Bei Ergebnissen analytischer Operationen wird die vorhandene Filterung jedoch berücksichtigt. Wenn eine Schnellsortierung für die Ansicht angewandt wird, verhält sich die Option Nächste wie Erste. Achtung In der gegenwärtigen Version gibt es ein bekanntes Problem mit „Nächste“ bei der Verwendung des Befehls RCOMMAND. Vermeiden Sie die Verwendung dieser Option, weil die Datensatzreferenz unabhängig von der tatsächlichen Auswahl eines Datensatzes auf den ersten Datensatz zurückgesetzt werden kann. |
| Solange |
Nutzt eine WHILE-Anweisung, um die zu verarbeitenden Datensätze in der Primärtabelle basierend auf Kriterien zu begrenzen. Datensätze in der Ansicht werden nur dann verarbeitet, wenn die angegebene Bedingung als wahr ausgewertet wird. Sobald die Bedingung als falsch bewertet wird, wird die Verarbeitung beendet und es werden keine weiteren Datensätze verarbeitet. Weitere Informationen finden Sie unter Erstellen von Ausdrücken mit dem Ausdruck-Generator. |