Я использую 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.
Не следует ли печатать r (R_code) вместо печати r (Rcode)? – Andrelrms
Да - извините, просто исправил (это упрощение фактического кода, и я ошибся здесь). – Parzival
Вы пытались сделать что-то вроде: myData <- group_by (MyData, someDataField), чтобы убедиться, действительно ли ошибка в функции%>%? – Andrelrms