rpy2 不会将“_”翻译成“.”
rpy2 does not translate "_" into "."
我正在尝试使用从 R 使用 rpy2 导入的函数 "read.csv" 读取 Python 中的 csv 文件。
r_read_csv = robjects.r['read.csv']
r_read_csv("initVar.csv", header = True, row_names = 1)
但是,上面的代码 returns 错误消息:
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把“_”翻译成了“.”。至少那是我从他们 documentation 那里了解到的。显然,我错了。
问题:在这种情况下如何指定row.names = 1
?
我重现了一个有趣的错误! rpy2
中的 read.csv
似乎没有继承其父函数 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 = ",")
同样,如果您对 utils 包使用 importr
方法:
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:
Python
read_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)
R
df <- read.csv("/path/to/data.csv", row.names = 1)
我正在尝试使用从 R 使用 rpy2 导入的函数 "read.csv" 读取 Python 中的 csv 文件。
r_read_csv = robjects.r['read.csv']
r_read_csv("initVar.csv", header = True, row_names = 1)
但是,上面的代码 returns 错误消息:
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把“_”翻译成了“.”。至少那是我从他们 documentation 那里了解到的。显然,我错了。
问题:在这种情况下如何指定row.names = 1
?
我重现了一个有趣的错误! rpy2
中的 read.csv
似乎没有继承其父函数 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 = ",")
同样,如果您对 utils 包使用 importr
方法:
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:
Python
read_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)
R
df <- read.csv("/path/to/data.csv", row.names = 1)