在Python Jupyter noteb中使用rpy2安装Bioconductor包

2024-10-03 09:14:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在pythonjupyter笔记本中使用rpy2从Bioconductor安装“pcaMethods”。你知道吗

这就是我试过的

from rpy2.robjects.packages import importr
utils = importr('utils')
utils.install_packages('mice') # all of this works
base = importr('base')
base.source("http://www.bioconductor.org/biocLite.R")
biocinstaller = importr("BiocInstaller") # this doesn't work
biocinstaller.biocLite("pcaMethods") # this doesn't work

# load the installed package
pcaMethods = importr("pcaMethods")

这是我在尝试安装pcaMethods时遇到的错误:

Error in if (answer %in% allowed) break : argument is of length zero

有人知道我做错了什么吗?你知道吗


Tags: ofbasepackages笔记本utilsthisworkrpy2
1条回答
网友
1楼 · 发布于 2024-10-03 09:14:17

这个介绍来自于SO question

“参数长度为零”是一个非常具体的问题,它来自于我最不喜欢的R元素之一。让我来演示这个问题:

> FALSE == "turnip"
[1] FALSE
> TRUE == "turnip"
[1] FALSE
> NA == "turnip"
[1] NA
> NULL == "turnip"
logical(0)

如您所见,与NULL的比较不仅不会产生布尔值,而且根本不会产生值—控制流倾向于期望检查将产生某种输出。当他们产生一个零长度的输出参数长度为零”。你知道吗

从这里开始,你的一句台词似乎唤起了这种行为。 我想关于交互式R的库路径和rpy中使用的R的库路径有点不匹配。你知道吗

还需要注意的是,在第一次执行代码期间,您应该只执行一次安装过程:

base.source("http://www.bioconductor.org/biocLite.R")
biocinstaller = importr("BiocInstaller") # this doesn't work
biocinstaller.biocLite("pcaMethods") # this doesn't work

以后你只需要加载包

# load the installed package
pcaMethods = importr("pcaMethods")

相关问题 更多 >