//間瀬茂
COLOR(red){SIZE(30){必要な関数を探すこつ}}

#contents
~
* 自分の使用環境で探す [#f7a688b8]

** キーワード検索関数 help.search() [#i83eb516]

R の多様な関数を使いこなすには、使えそうな関数を要領よく探すこつが要ります。例えば「ベクトル場のグラフィックスを描きたい」とします。平面上の点から矢印を描けば良いわけですが、それに使えるどんな関数があるのか分からないとします。矢印は arrow ですから、先ず R のキーワード検索関数 ''help.search()'' を使い
 > help.search("arrow")
とします。キーワードは二重引用符で囲む必要があります((結構面倒なので、?hogeでヒットない場合はhelp.search("hoge")を提案してくれるので、それをコピーペーストすると楽です。))。すると
 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)
で例示用コードを実行します。COLOR(red){''par(ask=TRUE)'' を先に一度実行しておく}と、複数のグラフィックス出力画面が一気に流れ去ることを防ぎ、画面を順にゆっくり点検することができます。使えそうだなとなったら
 > ?arrows          # または help(arrows)  (二重引用符は不要)
で関数の説明と、最後に付いている例示用コードを眺めます。すると、''arrows()'' は
- 直前の高機能作図関数の出力に矢印を加える関数であること、
- 引数としてベクトルが使えるので一つ一つ描く必要が無いこと

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

''help.seach()'' は正規表現による曖昧な検索も受け付けます
 > help.search("ab*cd")     # 前後にそれぞれ文字列 ab, cd を含む文字列を検索

** オブジェクトのキーワード検索関数  apropos(), find() [#k161a585]
''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() [#a1a3dfba]

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() [#wc063059]
現在使用中の計算機にインストールされているパッケージの一覧を得るためには、次の命令を使います。
 > search()   
 > searchpaths()    # インストール場所の絶対パスを得る

** あるライブラリ中のオブジェクトの一覧を見る library(help=パッケージ名) [#z3f01a26]
もちろんそのライブラリが既にインストールされている必要があります。
 > library(gstat)       # ライブラリ gstat をロード
 > library(help=gstat) # gstat 中のオブジェクト(関数、データセット)の一覧を得る

* 検索サイトで探す [#z92d3cb8]

** R site search でキーワード検索 [#a7d4ee79]
[[R site search:http://finzi.psych.upenn.edu/search.html]] R 関連ドキュメントからの最大の全文検索システム

*** RSiteSearch()というコマンドもあります。 [#b113a6e6]
 > RSiteSearch("BUGS") # ブラウザが起動しBUGSの検索結果を表示
いろいろなオプションがあるので、ヘルプを参照。ブラウザを変更するには、環境変数R_BROWSERを変更する。

** もう一つの検索エンジン [#q2879ea5]
[[Rseek:http://www.rseek.org/]] 

** S-Plus/R の関数のカテゴリー化されたリスト [#l9298173]

[[S-Plus/R Function Finder:http://biostat.mc.vanderbilt.edu/s/finder/finder.html]]

** インターネット (Google) で検索する [#vf6aae8f]
R のマニュアルや公式メイリングリストの過去記事からキーワード検索するには、

-  [[CRAN:http://cran.r-project.org/]] のホームページにある検索エンジンを使う、
-  [[google:http://www.google.com/webhp?hl=ja]] で検索先サイトを指定して検索。

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

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

** 中間さんの CRAN code search by gonzui を試す [#w2eadd28]
キーワードを含む R 関係のコードを検索してくれます。~
[[CRAN code search by gonzui:http://rgonzui.nakama.ne.jp/CRAN]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS