- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 R 中有一大块代码,我想将其插入到我的 python 代码中。为此,我正在使用 rpy2。 R 代码涉及许多正则表达式,似乎 rpy2 没有正确处理它们,或者我没有对它们进行充分编码。
这是一段代码的示例,其中一段代码不起作用,另一段代码不起作用:
1) 有效:一个非常简单的 removeStopWords 函数:
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) 它不起作用:删除前导和尾随空格的一个同样简单的函数:
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
然后我被 IPython“驱逐”了
我直接试过:
import rpy2.rinterface as ri
exp = ri.parse('trim <- function (x) gsub("^\\s+|\\s+$", "", x)')
但是结果是一样的,Abort
然后退出IPython
在这个阶段我真的不知道该尝试什么。 R 代码非常大,因此将所有代码从 R 迁移到 python 会花费我一些时间……而且我宁愿不必做这样的事情。
非常感谢任何帮助!
提前感谢您的宝贵时间。
最佳答案
当您在 Python 的字符串中写入 \\
时,它存储为 \
因为 \
是一个转义字符。因此,当 R 执行代码时,它会看到 "^\s+|\s+$"
。但是 \
也是 R 中的转义字符,而 \s
不被识别为任何转义字符。
如果你想让R接收"^\\s+|\\s+$"
,你需要写成"^\\\\s+|\\\\s+$"
在 Python 中(反斜杠数量的两倍)。
关于python - rpy2 错误 : "unrecognized escape in character string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30738648/
我最近将 Xcode 更新到 11.3.1 版,之后我无法运行我的应用程序。我一直收到以下异常: 2020-02-11 16:13:04.767795-0600 UVM[5204:80616] -[E
我正在尝试使用 horton 模式注册表在 kafka 中使用 avro 格式的消息。问题是,当我尝试发布 avro 消息时,我收到此错误: Caused by: com.fasterxml.jack
我正在尝试在 Red Hat Linux 上安装 MySql Server。 我已经下载了 tar文件并将其解压缩。 然后,我跑了: rpm -qpl mysql-community-server-5
在 fedora 22 上,我发现所有标准的 go 库在 go 的路径上都不可见。 注意 我确实清理了我的 golang 系统 - 所以我很确定这不是升级 go 时经常发生的混合包版本控制问题。 注意
这个问题在这里已经有了答案: systemctl command doesn't work inside docker-container (2 个回答) 8 个月前关闭。 我是 docker 新手,
如何保护注销操作?我读了default configuration并设置了 logout: csrf_parameter: _token csrf_provider:
我按照说明here按照以下步骤在 WSL 上安装 mariadb。我运行这个sudo service mysql start我有mysql: unrecognized service知道如何解决这个问
我需要选择一个隐藏字段才能将其删除。我想按类型、自定义数据属性和名称选择它。我的选择器如下所示: $("input[type=hidden] data-supplied='Cola' name='co
我正在Ubuntu 16.04上针对ARM体系结构交叉编译gpsd3.20。如您所知,gpsd使用Sconsctruct来编译源代码。在我进行交叉编译时,需要创建libgps.so的那一刻显示了unr
我正在实现 Skobbler SDK (v2.5),但我在第一步中遇到了问题。 应用程序因以下错误而崩溃:[SKVectorMapView displayTrafficWithMode:]:无法识别的
我正在使用以下命令运行 Java: java -Xms3G -Xmx3G -Xmn1G -XX:TargetSurvivorRatio=80 -XX:MaxTenuringThreshold=15 -
我正在使用 django 和 VB Linux Red Hat。我尝试过使用命令 python manage.py runserver - 192.168.1.100:8000 为了访问我的网站。到目
我正在处理使用 CodeIgniter 和 HTML5 布局的新网站。 我从我的旧网站复制了一些代码,但当我在我的新网站上尝试这个时,它给了我这个错误: Error: Syntax error, un
在用 Flex 编写 token 生成器时,我遇到了这个恼人的错误:“无法识别的规则” 我的代码是: /* Keywords */ TYPE int|double|bool|char L
我正在测试 Android Pay API。我使用命令生成了公钥 $ openssl ec -in merchant-key.pem -pubout -text -noout 和 echo $PUBL
我有几行代码可以用 Java 读取文件的内容。基本上我使用的是 FileReader 和 BufferedReader。我正在正确阅读这些行,但是,第一行的第一个字符似乎是一个 undefined s
UIView *v2 = ({ UIView *view = [UIView new]; [self.view addSubview:view]; [v
我遇到了一种情况,我有一个用 javascript 编写的表单,它为人们创建个人资料,详细说明了他们的姓名简历等。无论如何,我尝试向此表单添加一些新字段,但我添加的每个新字段都是当我尝试编辑个人资料信
在我的 ViewController 类中,我有一个函数: func updateTimes() { // (code) } 我创建了一个计时器: class ViewController: NS
我正在尝试运行 Behat(对我来说是第一次)并且成功了。 但是我有一个配置问题。我尝试像这样更改功能和 Bootstrap 的路径: #behat.yml default: paths:
我是一名优秀的程序员,十分优秀!