2016-07-01 1 views
-1

pip install -r requirements.txtと似たようなものを探していますが、RにはCRANパッケージのリストがあります。それらをインストールしますか?私はパックラットのようないくつかの潜在的な解決策を見てきましたが、具体的には、私がしたいことを手で要求のリストを変更しないと言っています手作りのリストをインストールするRパッケージマネージャー

+0

ファイルをRに読み込んでリストをベクトルとして抽出し、 'install.packages'に渡すことができます。あなたが望んでいることを達成するでしょうか? – rosscova

+0

これは現在私のバックアップ計画です。それはハックのように思える。また、パッケージの特定のバージョンを指定するときには、少し複雑になります。 – jamesatha

+1

ファイルのサンプルを入手できますか? –

答えて

3

これを達成するには、単純なスクリプトラッピングpacmanを書くことができます。あなたは1行に1つのパッケージをリストするファイルがある場合たとえば

は、:

dplyr 
ggplot2 
etc 

INPUT.TXT

をあなたはそれにすべてのREQSをインストールするには、このスクリプトのようなものを使用することができます。

installer.R

#!/usr/bin/env Rscript 
library('pacman') 

infile <- commandArgs(trailingOnly=TRUE)[1] 

# check to make sure specified file exists 
if (!file.exists(infile)) { 
    stop("Invalid filepath specified...") 
} 

# get list of packages 
packages <- readLines(file(infile)) 
print(sprintf("Installing: %s", paste0(packages, collapse='\n'))) 

suppressWarnings(p_install(packages, character.only=TRUE)) 

print("Done!") 

使用

installer.R <packages.txt>

パックマンのいいところは、それが複数のソース(CRAN、bioconductor、githubの、など)からパッケージをインストールする機能を持っており、また指定するために使用することができるということです特定のパッケージバージョン。この単純なスクリプトを拡張して、バージョン要件を含むより複雑なリストを解析することができます。

+1

私はまだRの新人です。なぜパックマンが必要ですか? install.packagesはinstall.R – jamesatha

+0

のinstall.packagesも簡単な場合にはうまくいくでしょう。私はちょうど 'install.packges'でパックマンを検討する理由についての注釈を含める答えを更新しました。 主に、ソフトウェアソースのサポートと特定のバージョンのインストールと関連しています。必要なものがすべてCRANに入っていて、バージョンについて心配していなければ、 'p_install()'を 'install.packages()'呼び出しで置き換えて、pacmanへの依存性を落とすことができます。 –

関連する問題