| library {base} | R Documentation |
library と require はアドオンパッケージをロードする。
.First.lib はパッケージがロードされる時呼び出される。
.Last.lib はパッケージが切り離されるとき呼び出される。
.packages はパッケージの利用可能性に関する情報を返す。
.path.package はパッケージがどこからロードされたか関する情報を返す。
.find.package はインストールされたパッケージのディレクトリパスを返す。
library(package, help, lib.loc = NULL, character.only = FALSE,
logical.return = FALSE, warn.conflicts = TRUE,
keep.source = getOption("keep.source.pkgs"),
verbose = getOption("verbose"))
require(package, quietly = FALSE, warn.conflicts = TRUE,
keep.source = getOption("keep.source.pkgs"))
.First.lib(libname, pkgname)
.Last.lib(libpath)
.packages(all.available = FALSE, lib.loc = NULL)
.path.package(package = .packages(), quiet = FALSE)
.find.package(package, lib.loc = NULL, use.attached, quiet = FALSE,
verbose = getOption("verbose"))
.libPaths(new)
.Library
.Autoloaded
package, help |
name または文字列でパッケージの名前を与える。 |
lib.loc |
探索すべき R のライブラリツリーの位置を記述する文字ベクトル、もしくは
NULL。規定値 NULL は現在知られているすべてのライブラリ。 |
character.only |
package もしくは help が文字列であると仮定して良いかどうかを指示する論理値。 |
logical.return |
論理値。もしこれが TRUE なら FALSE または TRUE が成功を指示するために返される。
|
warn.conflicts |
論理値。もし TRUE なら、新しく加えられたパッケージから、それが .conflicts.OK のオブジェクトを含まない限り、
conflicts に関する警告がでる。 |
keep.source |
論理値。もし TRUE なら関数は``ソースを保存''し注釈を含む、
options に対する引数 keep.source を見よ。 |
verbose |
論理値。もし TRUE なら、追加の診断が出力される。 |
quietly |
論理値。もし TRUE なら、パッケージが見つからないと警告が出力される。 |
libname |
パッケージが見つかったライブラリディレクトリを与える文字列。 |
pkgname |
パッケージの名前を与える文字列。 |
libpath |
パッケージの完全なパスを与える文字列。 |
all.available |
論理値;もし TRUE ならば lib.loc 中のすべての利用可能なパッケージの文字ベクトル。 |
quiet |
論理値。
.path.package に対しては、もしパッケージがロードされなかった時これが警告またはエラーを出さないか?
.find.package に対しては、もしパッケージが見つからなかった時これが警告またはエラーを出さないか? |
use.attached |
論理値で、追加パッケージが与えられたライブラリ中のものに対する追加と考えるべきかどうかを指示する。 |
new |
R ライブラリツリーの位置を持つ文字ベクトル。 |
library(package) と require(package) はともに package という名前のパッケージをロードする。
require は関数の内部から使うようにデザインされている;もしパッケージが存在しなければ FALSE とオプションでエラーではなくむしろ警告を与える。両関数は現在ロードされているパッケージを検査・更新し、既にロードされているコードはロードしない。
大きなパッケージに対しては、keep.source = FALSE をセットするとメモリーを著しく節約するかもしれない。
もし library が package もしくは help 引数無しで呼び出されると、lib.loc で指定されるライブラリ中のすべての利用可能ライブラリの一覧を与え、クラス "libraryIQR" のオブジェクト中の対応する情報を返す。
このクラスの構造は将来変更されるかもしれない。R のこれまでのバージョンではすべての利用可能なパッケージの名前だけが返される;これらを得るためには .packages(all = TRUE) を使う。
library(help = somename) はパッケージ somename に関する基本的な情報を計算し、これをクラス "packageInfo" のオブジェクトとして返す。
このクラスの構造は将来変更されるかもしれない。
.First.lib はパッケージが library でロードされた時に呼び出される。
これは二つの引数、パッケージが見つかったライブラリディレクトリの名前(つまり対応する lib.loc の要素)とパッケージの名前(この順で)、で呼び出される。
パッケージをこの関数にロードする際必要になる library.dynam に呼び出しを置くために良い場所である。
.First.lib は search() により調べられた検索パスが更新された後に起動され、従って as.environment(match("package:name"), search()) はパッケージが保管されている環境を返す。
もし .First.lib の呼び出しがエラーを与えると、パッケージのロードは中止され、パッケージは利用不可能になる。
同様に、もしオプション ".First.lib" がパッケージの名前をもつリスト要素を持てば、この要素はパッケージがロードされ時の .First.lib と同じ流儀で呼び出される。
この機構はユーザーがパッケージに、パッケージ保守者が提供する起動コードに加えてパッケージの``ロードフック''を設定する事を可能にする。
.Last.lib はパッケージが切り離されるときに呼び出される。
これは .First.lib が失敗したときも呼び出され、従ってそれは注意深く書かれるべきであることを注意しよう。
(これは try の内部から呼び出され、従ってエラーは切り離されたパッケージを停止しない。)
.packages() は現在付加されているパッケージの``基本名''を目に見えないように返し、一方 .packages(all.available = TRUE) はライブラリ位置パス lib.loc で得られるすべてのパッケージを(目に見えるように)与える。
.path.package は指名されたパッケージ、もしどれも指名されていなければすべての現在ロード中のパッケージ、がそこからロードされたパスを返す。
quiet = TRUE でない限り、もし一部の指名パッケージ名がロードされていなければ警告が出され、もしどれも指名されていなければエラーを与える。
この関数はユーザーから呼び出されることを想定しておらず、そのインタフェイスは将来変更される可能性がある。
.find.package は与えられたパッケージを見つけることができる位置へのパスを返す。
もし lib.loc が NULL なら、付加されるパッケージがライブラリよりも先に探索される。
もしパッケージが二回以上見つかれば、最初に見つかった物が使われる。
quiet = TRUE でないかぎり、見つからない指名パッケージについて警告が与えられる。
もし verbose が真なら、複数見つかったパッケージに関する警告が与えられる。
引数 use.attached は廃止された。
この関数はユーザーから呼び出されることを想定しておらず、そのインタフェイスは将来変更される可能性がある。
versions.
.Autoloaded は自動的にロードされることが約束されたパッケージの``基本名''を含む。
.Library は既定のライブラリの位置、R_HOME の `library' サブディレクトリ、を与える文字列である。
.libPaths は R がそれについて知っている(従ってパッケージを探すときに使う)ライブラリツリーを獲得したり、設定したりするのに使われる。
もし引数 new とともに与えると、ライブラリ検索パスは unique(new, .Library) にセットされ、そしてこれが返される。
もし引数がないと、現在知られているライブラリツリーを示す文字ベクトルが返される。
ライブラリ検索パスは起動時に環境変数 R_LIBS 環境変数 R_LIBS (R のライブラリツリーのルートがあるディレクトリのコンマで区切られたリストである必要)から、R_LIBS で指定されたディレクトリとともに .libPaths を呼び出すことにより初期化される。
現在のところ大域的変数 .lib.loc が既知のライブラリツリーへのパスを保管するために使われており、
この変数は直接アクセスすべきではない。
library はロードされた(または利用可能な)パッケージのリストを返す
(または logical.return が TRUE なら TRUE を返す)。
require は要求されたパッケージが利用可能かどうかを指示する論理値を返す。
R core; .packages の all.available=TRUE 部分は Guido Masarotto
attach, detach, search,
objects, autoload,
library.dynam,
data, install.packages,
INSTALL, REMOVE.
(.packages()) # 恐らく単に "base"
.packages(all = TRUE) # 利用可能なすべてを文字列として返す
library() # 利用可能なすべてのパッケージを一覧
library(lib = .Library) # 既定ライブラリ中のすべてのパッケージを一覧
library(help = eda) # パッケージ `eda' に関するドキュメント
library(eda) # パッケージ `eda' をロード
require(eda) # 同じ事
(.packages()) # "eda" も
detach("package:eda")
# もしパッケージ名が文字ベクトルにあるなら次を使う
pkg <- "eda"
library(pkg, character.only = TRUE)
detach(pos = match(paste("package", pkg, sep=":"), search()))
.path.package()
.Autoloaded # 恐らく "ctest"
.libPaths() # R が知っているすべてのライブラリツリー
require(nonexistent) # FALSE
## もしパッケージが `fooEXT' という名前の共有ライブラリ(ここで `EXT'
## はシステム固有の拡張子)を使用するなら、次のようにする
.First.lib <- function(lib, pkg) {
library.dynam("foo", pkg, lib)
}