Python rpy2:韩语字符不在rpy2上工作
python代码:Python rpy2:韩语字符不在rpy2上工作,python,r,rpy2,Python,R,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
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)
将rpy2.robject作为robject导入
rCommand=''性别在撰写本文时,不幸的是,没有官方支持windows的rpy2
。您提供的代码片段在Linux上运行良好
您的选择可能是:
- 在Linux虚拟机(或容器-MS已宣布支持Docker)中运行代码
- 提交rpy2的修补程序
- 在bitbucket页面上为
rpy2
提交一份bug报告,希望这能转化为某个人的补丁
Edit:这些评论表明,帮助Python2.7进行编码可能会有所帮助(没有承诺-一切都在Linux上运行,因此这可能是Windows特有的)。可以显式地将字符串指定为unicode格式(注意'
之前的前缀u
):
rCommand=u''
性别谢谢你的评论。现在我找到了旁路。1.R命令保存到script.R,2。我执行R命令=>source(“c:\\script.R”)它可以很好地使用韩文字符。source(“c:\\script.R”)==>source(“c:\\script.R”,encoding='UTF-8-BOM')我现在只看到您使用的是Python 2.7,而不是3.4。在使用Python时,几乎肯定需要指定编码。一般来说,切换到Python3.4(默认情况下是unicode)可能是个好主意。我不擅长用英语写作。谢谢你仔细的答复。(来自韩国首尔)
rCommand=u'''
gender <- c("남자", "남자", "남자", "여자", "여자", "여자", "여자", "여자")
age <- c(23, 25, 27, 29, 31, 33, 35, 37)
outdf <- data.frame(gender, age)
'''
robjects.r(rCommand)