rpy2 不会将“_”翻译成“。”

我正在尝试使用使用 rpy2 从 R 导入的函数“read.csv”在 Python 中读取 csv 文件。


r_read_csv = robjects.r['read.csv']

r_read_csv("initVar.csv", header = True, row_names = 1)

但是,上面的代码会返回错误消息:


rpy2.rinterface_lib.embedded.RRuntimeError: Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 

    unused argument (row_names = 1)

在 R 中,参数的名称是row.names. 但是,我不能使用点,因为它在 Python 中的含义不同。


我认为rpy2将“_”翻译成“。”。至少这是我从他们的文档中了解到的。显然,我错了。


问题row.names = 1:在这种情况下如何指定?


德玛西亚99
浏览 159回答 1
1回答

HUX布斯

我确实重现了有趣的错误!它出现read.csv在rpy2不继承其父函数,read.table因此不识别row_names参数。但是,您可以使用read.table确保指定默认值read.csv:read_tbl = robjects.r['read.table']rdf = read_tbl("/path/to/data.csv", header = True, row_names = 1, sep = ",")同样,如果您使用importrutils 包的方法:from rpy2.robjects.packages import importr...utils = importr("utils")rdf = utils.read_table("/path/to/data.csv", header = True, row_names = 1, sep = ",")但是,以下内容均不适用于 Python,但适用于 R:Pythonread_csv = robjects.r['read.csv']rdf = read_csv("/path/to/data.csv", row_names = 1)utils = importr("utils")rdf = utils.read_csv("/path/to/data.csv", row_names = 1)Rdf <- read.csv("/path/to/data.csv", row.names = 1)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python