[英]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.