问题标签 [rpy2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
750 浏览

python - 如何使用 python 和 rpy2 控制 R 图的显示位置?

我正在用 Python 编写一个程序。发生的第一件事是显示一个窗口(我使用的是 wxPython),其中包含一些按钮和文本。当用户执行某些操作时,会在其自己的窗口中显示一个绘图。这个图是用 R 制作的,使用 rpy2。问题是绘图通常会在主窗口顶部弹出,因此用户必须移动绘图才能再次看到主窗口。这对用户来说是个大问题,因为他很懒惰,一无是处。他希望情节简单地出现在其他地方,这样他就可以同时看到主窗口和情节,而无需动动手指。

我的问题的两个潜在解决方案是:
(1)在 wxPython 框架内显示绘图(我认为我可以控制它的位置),或者
(2)能够指定绘图窗口出现在屏幕上的哪个位置。

我也不知道该怎么做。

0 投票
3 回答
4006 浏览

python - Bizzarre issue trying to make Rpy2 2.1.9 work with R 2.12.1, using Python 2.6 under Windows xp - Rpy can't find the R.dll?

I've been having a real issue trying to make Rpy2 play nice with my R install. I first tried installing the rpy2 MSI package, and this didn't appear to work. When I ran the recommended tests, it was giving me an error saying that it couldn't find the R.dll, because the new R installs (post 2.11) install the DLLs into an i386 folder, where rpy2 can't find them because its looking in the bin folder instead of the bin/i386 folder.

Then I tried to build the install from scratch myself using the command line tools (distutils) included with python. This didn't work, because setup.py claimed to be unable to find the R_home location. But I did work out that editing an environment variable (PATH) might show the rpy2 setup where to find the R installation. I then made a couple of edits to the environment, adding the "R_home" variable pointing to the bin/i386 directory, and made a new entry under the PATH variable, pointing to the same spot.

Unfortunately, when it found the R path, I got this issue instead:

So I went back to trying to use the premade install, thinking that maybe the new edits to the environment might work but got this issue here

This is REALLY weird, because (as anyone can check on their own install) R installs R.dll into "C:\Program Files\R\R-2.12.1\bin\i386" and I've checked and verified that its in there, and I've pointed rpy2 to this directory in the windows default PATH! I know for a fact that rpy2 is looking in the right place, but can't understand why its not seeing R.dll.

So why can't rpy2 find it? And does anyone know a way to get rpy2 working with R 2.12? Perhaps I should try the newer rpy2 2.2.0 version? Its still in development though, and 1.9 is supposed to be able to handle R 2.12 according to this website so I don't know what to do...

Thanks to anyone who can help out...

[EDIT] I've also tried these instructions over here but they return the same "can't find DLL" error... Unless you change the environment variable "R_home" to point straight at the c/program files/R/R 2.12 directory instead of into the i386 subdirectory.

If it points at the right place, you get these errors back. This looks a bit more promising... But its still pretty bad!

0 投票
2 回答
640 浏览

python - 将元素(向量)添加到 rpy2 中的列表

在 R 中,我可以轻松地将元素添加到列表中:

我如何在 rpy2 中执行此操作?我正在使用 rpy2 2.1.9。我尝试了以下但它不起作用

0 投票
1 回答
594 浏览

python - 如何使用 Python 创建非 ascii 树状图?

试图用这个找到的代码块创建一个树状图,它一直工作到调用:

然后喷出错误:

RPy_RException:dist(t(mt))中的错误:(列表)对象不能被强制输入'double'

直到那时它看起来都很好......我可能错过了一些非常简单的东西

有什么帮助吗?

0 投票
2 回答
273 浏览

r - ESS 和 rpy2 在 Emacs 中共享 R 进程

我是 R 的一个相当新的用户,并且已经开始使用 Emacs Speaks Statistics (ESS)。我还使用 rpy2(R 的 python 接口),我可以在 Emacs 中运行的 ipython shell 中启动 R 进程。

是否可以让 ESS 和 rpy2 以某种方式共享相同的 R 进程,以便我可以在 Python/rpy2 中进行一些编码以设置一些 R 对象,然后切换到 ESS 并直接运行 R 命令而不使用 python/rpy2?

例如,我会在 Emacs 中使用 启动 R M-x R,然后在我的 ipython 会话中让rpy2.robjects.r指向或使用这个正在运行的 R 进程;或者,我会在 python 中启动 R,rp2.robjects.r然后让 ESS 连接到嵌入 python 的 R 进程。

我猜问题是rpy2中的R进程嵌入在python解释器中,如果我可以直接操作R而不通过rpy2,那么表示R对象的python对象会变得“不同步”?我承认我没有完全了解 rpy2 和 Emacs 进程处理的工作原理......

0 投票
1 回答
1791 浏览

python - 清除 rpy2 使用的内存

如何清除通过 rpy 创建的对象(及其占用的内存)?

不幸的是,在我的应用程序中,内存使用量会增加,直到没有足够的内存然后崩溃......来自 rpy2文档

对象本身仍然可用,并且在从 Python 中删除 foo 之前不受 R 的垃圾收集的保护

但即使这样做:

不释放使用的内存...

编辑:rpy2 2.0,Win XP,R 2.12.0

0 投票
1 回答
545 浏览

python - R/rpy2 中 as.dist 函数的内存问题

我正在尝试使用自定义距离度量执行层次聚类。我在 Python 中执行所有计算,然后将数据结构传递给 R 进行聚类

所以我的距离度量保存在 Python 列表中,转换为 R 矩阵,然后转换为dist聚类所需的对象。这在一定程度上有效。但是,当矩阵变得太大并且我收到此错误时:

这发生在我转换为dist对象 ( as.dist) 的位置。我还没有测试它分崩离析的大小,但它适用于 3000x3000 矩阵,但适用于 6500x6500 矩阵,所以介于两者之间。我正在使用delPython 中的函数来尝试从内存中删除任何不必要的对象,但是从我所读到的内容来看,这并不能保证内存将立即可供使用。

那么,最终,是否有一种更高效的方式来获取dist对象?或者有没有我可以使用的替代方法?我在 R 的cluster库中找到了一些其他方法,它们不使用dist对象,但这些方法使用内置的距离度量。

提前致谢!

0 投票
1 回答
812 浏览

python - rpy2问题,nls将list()作为参数从python传递给R

我正在尝试使用 numpy 数组中的 rpy2 拟合非线性曲线,但由于我不知道如何在 R 端传递“开始”参数而被卡住。我使用 R 2.12.1 和 python 2.6.6

谁能帮我确定如何将 list() 对象传递给 nls 公式?

我的代码的相关部分是这样的:

0 投票
4 回答
18621 浏览

python - Rpy2、pyrserve 和 PypeR 如何比较?

我想从 Python 程序中访问 R。我知道 Rpy2、pyrserve 和 PypeR。

这三个选项的优点或缺点是什么?

0 投票
2 回答
1007 浏览

python - 使用 rpy2 将 R 对象转换为 Python 对象

问题:如何将 R 对象转换为 python 对象

我的情况:我需要将 cor.test() 的结果用于 python 例程。

输出,如预期:

但是,我不能使用 corr[3] 作为 python 对象,

看(这就是我如何知道我做错了什么!),输出:

任何提示/帮助表示赞赏!