我想寫一個檢查一個軟件包是否已經安裝在R系統功能的功能,代碼如下寫檢查包裝是否已經安裝在R系統
checkBioconductorPackage <- function(pkgs) {
if(require(pkgs)){
print(paste(pkgs," is loaded correctly"))
} else {
print(paste("trying to install" ,pkgs))
update.packages(checkBuilt=TRUE, ask=FALSE)
source("http://bioconductor.org/biocLite.R")
biocLite(pkgs)
if(require(pkgs)){
print(paste(pkgs,"installed and loaded"))
} else {
stop(paste("could not install ",pkgs))
}
}
}
checkBioconductorPackage("affy")
但是,這個功能沒有做正確的事情?爲什麼?有人可以告訴我嗎?
您的標題和問題內容不匹配。代碼似乎是「嘗試加載一個包;如果它失敗了,然後下載它並再試一次」,這與「檢查包是否已安裝」不同(你想要'installed.packages' )。 –
另外,你需要解釋什麼是正確的事情,或者不可能回答這個問題。 checkBioconductorPackage(「affy」)的輸出是什麼,你期望什麼? –