如何设置rpy2 CRAN

时间:2019-01-11 23:36:51

标签: rpy2

当我尝试使用rpy2界面安装r软件包时,它会弹出一个窗口供CRAN选择。当我选择并点击“确定”。再次询问如下

---请选择要在此会话中使用的CRAN镜像---。

它不允许从GUI中选择CRAN,并且ı试图作为文本输入,但也没有用。

如何解决此问题?

谢谢

from rpy2.robjects.packages import importr
base = importr("base")
utils = importr("utils")
utils.chooseBioCmirror(graphics=False, ind=1)
packname = ("oligo")
from rpy2.robjects.vectors import StrVector
utils.install_packages(StrVector(packname))

1 个答案:

答案 0 :(得分:1)

我最初写道:

  

您检查了文档吗?

     

https://rpy2.github.io/doc/v2.9.x/html/robjects_rpackages.html#installing-removing-r-packages

没有意识到您遵循了文档。

自编写文档以来,R似乎发生了变化。 chooseBioCmirror()似乎不再更改选项repos

>>> base.options('repos')                                                   
R object with classes: ('list',) mapped to:
[StrVector]
  repos: <class 'rpy2.robjects.vectors.StrVector'>
  R object with classes: ('character',) mapped to:
['@CRAN@']

以下选项似乎已更改。

>>> base.options('BioC_mirror')                                             
R object with classes: ('list',) mapped to:
[StrVector]
  BioC_mirror: <class 'rpy2.robjects.vectors.StrVector'>
  R object with classes: ('character',) mapped to:
['https://bioconductor.org']

以下内容将更改CRAN镜像。

utils.chooseCRANmirror(graphics=False, ind=1)

我建议遵循bioconductor的最新文档来安装软件包。如上图所示设置CRAN镜像应使您无需安装软件包BiocManager,而不必交互选择存储库。