rpy2:韩文字符在 rpy2 上不起作用

rpy2 : Korean characters are not working on rpy2

python代码:

import rpy2.robjects as robjects

rCommand='''gender <- c("남자", "남자", "남자", "여자", "여자", "여자", "여자", "여자")
  age    <- c(23, 25, 27, 29, 31, 33, 35, 37)
  outdf <- data.frame(gender, age)
'''
robjects.r(rCommand)
resultDf_r=robjects.globalenv["outdf"]

print type(resultDf_r)

韩文字符让 python.exe 被杀死。

在 R 命令终端中,上述 "rCommand" 运行良好。

我找不到任何解决方案。

如有任何帮助,我们将不胜感激。

我的环境:window 7 x64,python 2.7.8 x64,rpy2 2.5.4,R 3.1.2

在撰写本文时,很遗憾,windows 没有 rpy2 的官方支持。您提供的代码片段在 Linux.

上运行良好

您的选择可能是:

  • 运行 您在 Linux VM(或容器 - MS 已宣布支持 Docker)中的代码

  • 提交 rpy2 补丁

  • 在 bitbucket 页面上为 rpy2 提交错误报告,希望这会转化为某人的补丁

编辑: 评论表明帮助 Python 2.7 进行编码可能会有所帮助(没有承诺 - 一切都在 Linux 上进行,所以这可能是Windows-具体)。一个字符串可以明确指定为 unicode 格式(注意 ''' 之前的前缀 u):

rCommand=u'''
    gender <- c("남자", "남자", "남자", "여자", "여자", "여자", "여자", "여자")
    age    <- c(23, 25, 27, 29, 31, 33, 35, 37)
    outdf <- data.frame(gender, age)
'''
robjects.r(rCommand)