Rpy2 Fehler: "unerkanntes Escape in Zeichenfolge"

Ich habe ein Stück Code in R, das ich gerne in meinen Python-Code einfügen möchte. Zu diesem ziel benutze ich rpy2. Der R-Code beinhaltet viele reguläre Ausdrücke und es scheint, dass rpy2 nicht ordnungsgemäß behandelt oder vielleicht bin ich nicht kodieren sie adäquat.

Hier ist ein Beispiel für ein Stück Code, dass Worte und andere, die nicht funktioniert:

1) Es funktioniert : Eine sehr triviale removeStopWords-Funktion:

import rpy2.robjects as robjects from rpy2.robjects.packages import importr robjects.r(''' library(data.table) library(tm) removeStopWords <- function(x) gsub(" ", " ", removeWords(x, stopwords("english"))) ''') In [4]: r_f = robjects.r['removeStopWords'] In [5]: r_f('I want to dance')[0] Out[5]: 'I want dance' 

2) es funktioniert nicht : eine auch triviale Funktion, um führende und nachgestellte Leerzeichen zu entfernen:

 robjects.r(''' library(data.table) library(tm) trim <- function (x) gsub("^\\s+|\\s+$", "", x) ''') Error: '\s' is an unrecognized escape in character string starting ""^\s" p = rinterface.parse(string) Abort 

Und ich bin von IPython "vertrieben"

Ich habe es direkt ausprobiert

 import rpy2.rinterface as ri exp = ri.parse('trim <- function (x) gsub("^\\s+|\\s+$", "", x)') 

Aber das Ergebnis ist das gleiche, Abort und dann aus IPython

In diesem Stadium weiß ich nicht wirklich was zu versuchen Der R-Code ist ziemlich groß und bewegt sich alle von R bis python würde mir etwas Zeit nehmen … und ich würde es lieber nicht so etwas machen wollen.

Jede Hilfe wird sehr geschätzt!

Vielen Dank im Voraus für Ihre Zeit.

  • Der rpy2-Import funktioniert nicht
  • Rpy2 importiere externe R-Datei
  • Führender R-Code auf `python` mit SyntaxError: Schlüsselwort kann kein Ausdrucksfehler sein. Nachricht
  • Schwierigkeiten mit rpy2, rend übergeben Daten korrekt von python zu r
  • R-Ausgabe als Spalten lesen
  • Rpy2, DiceKriging, Multiprocessing: Speicherleck
  • Ändern Sie r Objekt mit rpy2
  • Rpy2 kann keine externe Bibliothek laden
  • One Solution collect form web for “Rpy2 Fehler: "unerkanntes Escape in Zeichenfolge"”

    Wenn du \\ in einer Zeichenfolge in Python schreibst, wird es als \ gespeichert, da \ ein Escaping-Zeichen ist. Wenn also R den Code ausführt, sieht er "^\s+|\s+$" . Aber es ist auch und entkommender Charakter in R und \s nicht als irgendein entkommener Charakter erkannt.

    Wenn du willst, dass du "^\\s+|\\s+$" "^\\\\s+|\\\\s+$" , musst du in Python ( "^\\\\s+|\\\\s+$" doppelte Anzahl von Backslashs) "^\\\\s+|\\\\s+$" schreiben.

    Python ist die beste Programmiersprache der Welt.