必要な関数を探すこつ


自分の使用環境で探す

キーワード検索関数 help.search()

R の多様な関数を使いこなすには、使えそうな関数を要領よく探すこつが要ります。例えば「ベクトル場のグラフィックスを描きたい」とします。平面上の点から矢印を描けば良いわけですが、それに使えるどんな関数があるのか分からないとします。矢印は arrow ですから、先ず R のキーワード検索関数 help.search() を使い

> help.search("arrow")

とします。キーワードは二重引用符で囲む必要があります*1。すると

Help files with alias or title matching 'arrow' using fuzzy matching:

arrows(base)            Add Arrows to a Plot

Type 'help(FOO, package = PKG)' to inspect entry 'FOO(PKG) TITLE'.

と表示されます。これはキーワードをふくむ関数が base パッケージに一つあったことを意味しています。(検索は現在使用中の機械にインストールされているすべてのパッケージ中から行なわれますから、こういう時のためにとりあえず使う予定のない追加パッケージも手あたり次第インストールしておくとよいかも。)次に関数 arrows() はどういうものか感触を得るために、

> example(arrows)

で例示用コードを実行します。par(ask=TRUE) を先に一度実行しておくと、複数のグラフィックス出力画面が一気に流れ去ることを防ぎ、画面を順にゆっくり点検することができます。使えそうだなとなったら

> ?arrows          # または help(arrows)  (二重引用符は不要)

で関数の説明と、最後に付いている例示用コードを眺めます。すると、arrows()

  • 直前の高機能作図関数の出力に矢印を加える関数であること、
  • 引数としてベクトルが使えるので一つ一つ描く必要が無いこと

などが分かります。また、同様の関数として矢印の代わりに線分を描く関数 segments() があることも分かります。

help.seach() は正規表現による曖昧な検索も受け付けます

> help.search("ab*cd")     # 前後にそれぞれ文字列 ab, cd を含む文字列を検索

オブジェクトのキーワード検索関数 apropos(), find()

help.search() に似ている関数に、ほとんど同じ機能をもつ apropos(), find() があります。 これはキーワードを含むオブジェクトを検索します。キーワードは二重引用符で囲んでも、囲まなくても構いません。正規表現?による検索も可能です(この際は二重引用符が必要)。違いは、apropos() は現在ロードされているライブラリ中から、キーワードを含むオブジェクトだけを検索対象とすることです。

> apropos("lm")           # lm を含むオブジェクトを検索
> apropos(ls)               # ls を含むオブジェクトを検索
> length(apropos("."))  # すべてのオブジェクトの総数
> apropos("^pr")          # pr で始まるすべてのオブジェクトの検索
> apropos("^..?$")        # 2文字のオブジェクトを検索
> apropos("pr$")          # pr で終るオブジェクトを検索
> apropos("ub.{0,}a")    # ub と a の間に零個以上の文字列を含むパターン
> apropos("ub.{1,}a")    # ub と a の間に1個以上の文字列を含むパターン

組み込み関数の一覧を得る builtins()

R 1.7.0 版で 1632 種類

> builtins()
   [1] "~"                          "||"
   [3] "|"                          "{"
   [5] "zip.file.extract"           "zapsmall"
   [7] "yinch"                      "xyz.coords"
   [9] "xyinch"                     "xy.coords"
     (途中省略)
   [1627] "%*%"                        "%%"
   [1629] "$<-"                        "$"
   [1631] "!="                         "!"

インストールされているパッケージの一覧を得る search()

現在使用中の計算機にインストールされているパッケージの一覧を得るためには、次の命令を使います。

> search()   
> searchpaths()    # インストール場所の絶対パスを得る

あるライブラリ中のオブジェクトの一覧を見る library(help=パッケージ名)

もちろんそのライブラリが既にインストールされている必要があります。

> library(gstat)       # ライブラリ gstat をロード
> library(help=gstat) # gstat 中のオブジェクト(関数、データセット)の一覧を得る

検索サイトで探す

R site search でキーワード検索

R site search R 関連ドキュメントからの最大の全文検索システム

RSiteSearch?()というコマンドもあります。

> RSiteSearch("BUGS") # ブラウザが起動しBUGSの検索結果を表示

いろいろなオプションがあるので、ヘルプを参照。ブラウザを変更するには、環境変数R_BROWSERを変更する。

もう一つの検索エンジン

Rseek

S-Plus/R の関数のカテゴリー化されたリスト

S-Plus/R Function Finder

インターネット (Google) で検索する

R のマニュアルや公式メイリングリストの過去記事からキーワード検索するには、

  • CRAN のホームページにある検索エンジンを使う、
  • google で検索先サイトを指定して検索。

例えば google でキーワード rpart, NA を含む文書、記事を検索するには次のようなキーワードを使います。

site:r-project.org rpart NA

また用例を探すには R のファイル形式を指定します。例えばplotの場合次のようにgoogleに入力します。拡張子が r という名前のファイルをネットで検索できます。

filetype:r plot

中間さんの CRAN code search by gonzui を試す

キーワードを含む R 関係のコードを検索してくれます。
CRAN code search by gonzui


*1 結構面倒なので、?hogeでヒットない場合はhelp.search("hoge")を提案してくれるので、それをコピーペーストすると楽です。

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