簡體   English   中英

在 Python Jupyter notebook 中使用 rpy2 安裝 Bioconductor 包

[英]Install Bioconductor package using rpy2 in Python Jupyter notebook

我正在嘗試在 Python Jupyter 筆記本中使用 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

有誰知道我做錯了什么?

這個介紹來自這個SO問題

“參數長度為零”是一個非常具體的問題,它來自我最不喜歡的 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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM