R

トップページ
Google
WWWを検索
サイト内を検索

1 インストール

パッケージは、インターネット上のパッケージ・リポジトリーCRANから、自動でダウンロードしてきて、自動でインストールするinstall.packagesを使うのが一般的です。pngパッケージをインストールしてみましょう。

install.packages("png", repos = "https://ftp.yz.yamagata-u.ac.jp/pub/cran/")

reposはCRANの場所を指定するオプションで、ここでは日本のミラーサイトを指定しています。指定せず、optionsでの設定もないと、選択することになります。optionsで指定する場合は、以下のようにします。

options(repos = "https://ftp.yz.yamagata-u.ac.jp/pub/cran/")

Rtoolsをインストールしてある場合、type = "source"をつけることで、ソースコードをダウンロードしてきて、コンパイルしてからインストールさせることもできます。

1.1 ダウンロード

パッケージはダウンロードだけすることもできます。

(r_dp <- download.packages("png", Sys.getenv("TEMP")))

上の例では一時フォルダーにダウンロードしています。なお、戻り値の行列の2列目にファイルパスが入っています。

1.2 ローカルからインストール

ファイルパスを指定して、インストールすることもできます。ダウンロードしたpngパッケージをインストールしてみましょう。ファイル名がバージョンごとに変わることに注意してください。

install.packages(file.path(Sys.getenv("TEMP"), "png_0.1-8.tar.gz"), repos = NULL, dependencies = TRUE)

2 インストールの確認

パッケージ名とインストール先とタイトルの一覧を確認できます。

with(library(quietly=TRUE, verbose=FALSE), {
    results[results[, "Package"]=="png", ]
})

2.1 インストールを促す

「~という名前のパッケージはありません」と言うエラーメッセージが混乱を招きそうな場合、別のメッセージを用意することもできます。

loadpkg <- function(pkgs){
    pkgnames <- library(quietly=TRUE, verbose=FALSE)$results[,"Package"]
    for(pkg in pkgs){
        if(!any(suppressWarnings(pkgnames == pkg))){
            stop(sprintf("Do install.packages(\"%s\") before runnning this script.", pkg))
        }
        library(pkg, character.only = TRUE)
    }
}

loadpkg("png")

3 取扱説明書

Rのパッケージにはビネットと呼ばれる取扱説明書を添付する仕組みがあります。

ビネットが無い場合も多いですし、あっても簡単な利用例から推定方法の理論的説明まで内容は様々なのですが、分からないことがあったら眺めてみることをお勧めします。

pngパッケージにはビネットはないので、ggplot2のビネットを見る例を示します。

# ggplot2の中のビネットの一覧を表示する
vignette(package = "ggplot2")
# 一覧にあったggplot2-specsを表示する
vignette("ggplot2-specs", "ggplot2")
# ブラウザーでビネットを見る
browseVignettes("ggplot2")

4 ロード

パッケージ名を指定してロードします。ダブルコーテーションは要りません。

library(png)

変数でパッケージ名を指定したい場合(もしくはダブルコーテーションをつけたい場合)は、character.only = TRUEをつけてください。

5 アンロード

ロードしたパッケージを消すときは、以下のようにします。

detach("package:png", unload="TRUE")

引数はパッケージ名にpackage:のプリフィックスがついているだけですが、search()で確認できます。

6 アップデート

再インストールしてもよいのですが、update.packagesで一括アップデートできます。libraryでロードしている場合はアップデートに失敗するので、Rの起動直後に行うのが無難です。

update.packages(ask = FALSE)

7 削除

インストール先のフォルダーを消せばよいです。間違えると惨劇になるので、OSから消した方が無難でしょう。それでもRから行う場合は、以下のようにします。

unlink(with(library(quietly=TRUE, verbose=FALSE), {
    r <- results[results[, "Package"]=="png", ]
    file.path(r["LibPath"], r["Package"])
}), recursive = TRUE)