#contents

*これは何? [#f3a2129a]
-WindowsでRのパッケージを作るための手順を紹介。
-1個の関数と1個のデータを含む、小さいパッケージfoo_1.0.zipを作れるようになることが目標。
-パッケージをビルドできるようになるまで、つまずいた所がたくさんあったので、関連情報を集約した。
-C言語の呼び出しなど、高度なことは他のリソースを見てください。


*準備 [#k97edbfa]
**Rのインストール [#z9aa3411]
開発者向けのマニュアルが見られるように、すべてのコンポーネントをインストールしておく。
**メニューを英語に [#qa17fc35]
GUI preferencesのLanguage for menu の中にUSと入れて保存。

日本語ではpackage.skeletonコマンドでエラーが出た。

また、トラブルシューティングのためにエラーメッセージでググるときには、エラーメッセージを英語で検索するほうが情報を得やすい。

**Rtoolsをインストール [#u70c10ba]
http://www.murdoch-sutherland.com/Rtools/

CygwinのDLL、Perl、makeなど、WindowsでRのパッケージを作成するために必要なものがまとめて入っている。

**PATHの設定 [#q60e7f31]
Rtoolsのインストール時に設定するように促される。

**便利なもの [#dde20c99]
PowerToys WindowsXPのCmdOpenHereをインストールしておく。

*オブジェクトの準備 [#o8da7f53]
Rを起動。
関数fとデータxの2個のオブジェクトを含むfooパッケージを作成する。
 f <- function(x) x
 x <- 1

*スケルトンの作成 [#x58fa043]
 package.skeleton("foo")

作業ディレクトリにfooディレクトリができる。

以下の内容のNAMESPACEファイルをfooディレクトリ内に作成。
>>
export(f)
<<

*パッケージのチェック [#be4721be]
コマンドラインで、
 R CMD check foo --no-latex --no-install
manやRの内部の*.R, *.Rdファイルをライブラリのチェックでエラーが出なくなるように編集する。

*パッケージのビルド [#tca9a1a2]
コマンドラインで、
 R CMD build foo --binary
foo_1.0.zipができる。


*パッケージのインストール [#ce7dc915]
パッケージ->ローカルにあるzipファイルからのパッケージのインストール

*パッケージのインストールの確認 [#ub70f848]
 installed.packages()

*パッケージのロード [#j97becba]
 library(foo)

*パッケージのアンインストール [#w21e7995]
 remove.packages("foo")
パッケージを作り直すときに。

*後始末 [#m1bcd4f5]
地域オプションの言語を日本語に戻しておく。

*その他 [#zb04adbf]
キーワードは次の方法で得る。
 file.show(file.path(R.home("doc"), "KEYWORDS"))
パッケージをCRANに登録しよう。

*References [#ff44f48c]
-Writing R Extensions
-Building R for Windows
--http://www.murdoch-sutherland.com/Rtools/
-Creating R Packages (the idiot's guide)...
--http://www.maths.bris.ac.uk/~maman/computerstuff/Rhelp/Rpackages.html
-[[RcmdrPlugin超入門]]


*Comments [#h222e668]
- 言語の設定は不要では? --  &new{2008-09-11 (木) 17:10:59};
- package.skeleton()でエラーを無くすのと、エラーメッセージを英語で得ることでトラブルシューティングのための情報収集に役立てるためです。 -- [[作成者]] &new{2008-09-12 (金) 11:21:27};
- 言語の設定ではなく、Rのメニューの表示を変更することにした。 -- [[作成者]] &new{2008-09-29 (月) 14:41:38};

#comment

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