RPy2 robjects.r.pie 给出了奇怪的错误“'x'”值必须为正”

发布于 2024-12-04 23:05:36 字数 517 浏览 2 评论 0 原文

我感觉自己很傻,但我似乎无法解决这个问题。我正在尝试使用 Python 中的 rpy2 制作饼图。

from rpy2.robjects import r
import os.path

image = "test.png"
values = [0.5, 0.5]

print "using R"
r.png(image, width=100, height=100)
r.pie(values)
r.dev_off()

现在,要直接在 RI 中做同样的事情,我知道我想要这样:

values <- (0.5, 0.5)
pie(values)

这在 R 解释器中工作得很好。我尝试在 Python 中使用元组而不是列表,但被告知 ValueError: Nothing can do for the type 目前。

什么 Python 类型对应于 R 向量?我需要使用numpy吗?

I'm feeling awfully silly, but I can't seem to work this out. I'm trying to make a pie chart, using rpy2 in Python.

from rpy2.robjects import r
import os.path

image = "test.png"
values = [0.5, 0.5]

print "using R"
r.png(image, width=100, height=100)
r.pie(values)
r.dev_off()

Now, to do the same thing directly in R I know I want this:

values <- (0.5, 0.5)
pie(values)

That works fine in the R interpreter. I've tried using tuples instead of lists in Python, but was told ValueError: Nothing can be done for the type <type 'tuple'> at the moment.

What Python type corresponds to the R vector? Do I need to use numpy?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

兔小萌 2024-12-11 23:05:36

[注意:您的 R 代码显示不正确。您可能的意思是

values <- c(0.5, 0.5)

函数 c() 的使用很重要;见下文]

目前 rpy2 不会尝试猜测人们想要如何在 R 中表示 Python 列表或元组。
这可以在 rpy2 文档中找到。

使用 R 函数 c() 或 rpy2 类 FloatVector

[note: your R code does not appear correct. You probably mean

values <- c(0.5, 0.5)

The use of the function c() matters; see below]

Currently rpy2 does not try to guess how one wants to represent in R a Python list or tuple.
This can be found in the rpy2 documentation.

Use either the R function c() or the rpy2 class FloatVector.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文