2015-07-06 2 views
3

Я использую R для обработки данных. Это часть более крупного проекта, который в основном работает на Python, поэтому я не использую R напрямую, а RPy2. Все отлично работает, пока я не доберусь до части dplyr.«Ошибка при разборе строки» при использовании RPy2 и dplyr

Это работает:

from rpy2.robjects import r 

Rcode = '''library(RODBC) 
library(dplyr) 
# ... 
# a bunch of R code that fetches data from SQL Server 
# ...'''.format(db_name = 'foo') 
print r(Rcode) 

Это дает мне данные, которые я хочу.

Но когда я пытаюсь сделать некоторые манипуляции с данными с dplyr, например:

from rpy2.robjects import r 

Rcode = '''library(RODBC) 
library(dplyr) 
# ... 
# a bunch of R code that fetches data from SQL Server 
# ... 
myData <- myData 
    %>% group_by(someDataField)'''.format(db_name = 'foo') 
print r(Rcode) 

Я получаю сообщение об ошибке:

Traceback (most recent call last): 
    File "myScript.py", line 53, in <module> 
    print r(Rcode) 
    File "C:\Python27\lib\site-packages\rpy2\robjects\__init__.py", line 268, in __call__ 
    p = rinterface.parse(string) 
ValueError: Error while parsing the string. 

Я попытался убежать в знаки%, спасаясь от> подписывать и помещать их в кавычки, но ничего не получилось.

Что мне не хватает?

Я видел другие вопросы о той же ошибке (например, here и here), но они не помогли.

Я использую Python 2.7.10 и RPy2 2.5.6.

+0

Не следует ли печатать r (R_code) вместо печати r (Rcode)? – Andrelrms

+0

Да - извините, просто исправил (это упрощение фактического кода, и я ошибся здесь). – Parzival

+1

Вы пытались сделать что-то вроде: myData <- group_by (MyData, someDataField), чтобы убедиться, действительно ли ошибка в функции%>%? – Andrelrms

ответ

Смежные вопросы