追加パッケージをなんでもかんでも追加する

必要なパッケージを選んで拡張できるのはRのよいところですが、それが逆に面倒でHDDに余裕のあるひとは全部入れちゃいましょうか。

方法

## 1. CRANから一覧を入手
packs <- available.packages(contriburl=contrib.url("http://cran.md.tsukuba.ac.jp/"))

# 2. 一覧をもとにダウンロードとインストール
install.packages(packs[,1],contriburl=contrib.url("http://cran.md.tsukuba.ac.jp/"))

たぶんこれで走ります
うまくいかなかったらだれか書き直して下さいw

Mac OS なら(他の OS は?)

ときどき(気が向いたら)以下を実行する。全てのパッケージをインストール・アップデートできるはずョ。

available <- available.packages()[,1]
installed <- installed.packages()[,1]
to.install <- setdiff(available, installed)
if (length(to.install) != 0) install.packages(to.install)
update.packages(ask=FALSE)

少し趣向を変えて、シェルのコマンドラインから一括動作させる

どれも | R --vanilla --slave へコマンドを string で渡している。 インストール済みパッケージ一覧は、

$ echo 'library()' | R --vanilla --slave 

インストール済みパッケージ全てアップデートは、

$ echo 'options(repos="http://cran.md.tsukuba.ac.jp/");update.packages(ask=F)' | R --vanilla --slave 

複数のパッケッージ名を与えて、インストール用コマンドへ整形は、

$ echo stats$'\n'boot | ./mytransform.sh 
 options(repos="http://cran.md.tsukuba.ac.jp/");install.packages(setdiff(c("stats", "boot"),rownames(installed.packages())),dep=T)
$
$ cat mytransform.sh
#!/bin/sh
repos="http://cran.md.tsukuba.ac.jp/"
plist=""
delim=""
while read x ; do
   plist=$plist$delim"\""$x"\""
   delim=", "
done
pinstall="install.packages(setdiff(c("$plist"),rownames(installed.packages())),dep=T)"
echo "options(repos=\""$repos"\");"$pinstall
exit 0

カウンタ:1906


コメント



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-01 (日) 01:15:59