パッケージを作る

  • 何故か知らねど、Windows, R10.1でpackage.skeleton()の挙動が変・・・パスとかディレクトリ呼び出しとかその辺り・・・
  • 処理群(関数群)をパッケージにすることにする
  • 面倒なことは嫌い
  • 参考はこちら
  • まず。
    • Rで作業していたら、関数やら、オブジェクトやらがごっちゃり作業環境上に乗っています。そのぐちゃぐちゃなものをそのままパッケージにすることにする(自分用ならそれでよい)。
    • 全部(ls())を"testpkg"という名でパッケージ化するのは次の通り
      • 別に"list=c(ls())"と「すべてを指定しなくても、listを与えなければ、すべてをパッケージしてくれるらしい。
package.skeleton(list=c(ls()),name="testpkg")
  • 少しはきれいにする。
    • 昨日の作業や、今日の作業が目いっぱい詰まった状態なのは、ちょっとどうかと思うので、きれいにすることを覚える
    • Rを空にするには、次の通り
rm(list = ls())
    • なので、これをしてから、「今日の作業」をしてやる。うまく行かなければ、".Rhistory"ファイルで、「該当のところだけを抜き出しても構わない。
  • ここまででできたこと
    • Rの作業ディレクトリに以下が出来ている
      • "/testpkg/"なるディレクト
        • その下に入る形で
        • "/testpkg/data/"・・・ディレクト
        • "/testpkg/man/"・・・ディレクト
        • "/testpkg/R/"・・・ディレクト
        • "/testpkg/DESCRIPTION" ・・・これはファイル
        • "/testpkg/Read-and-delete-me"・・・これもファイル
      • "data/"は、値の入った変数の格納場所。変数の数だけ、"hoge.rda"というファイルがある。"hoge"が変数名
      • "man/"は、"testpkg-package.Rd"というファイル。これはテキストファイルで、後に出すようなマニュアルページのテンプレート。
      • "R/"は、関数のファイルの格納場所。関数の数だけ"hage.R"というファイルがあって、関数の定義が書かれたファイル
      • "DESCRIPTION"ファイルは、パッケージの基本説明ファイルのテンプレート
      • "Read-and-delete-me"ファイルはその名の通り、読んで捨てれば良いファイル。
        • 'man'の中に今は、パッケージの説明ファイルしかないが、このほかに関数ごとの説明ファイルを付け加えていく(詳細、未確認)
        • その他は、C,C++関数の扱いとか、コンパイルのこととか(とりあえず、省略)。
      • "testpkg-package.Rd"の中身
\name{testPKG-package}
\alias{testPKG-package}
\alias{testPKG}
\docType{package}
\title{
What the package does (short line)
~~ package title ~~
}
\description{
More about what it does (maybe more than one line)
~~ A concise (1-5 lines) description of the package ~~
}
\details{
\tabular{ll}{
Package: \tab testPKG\cr
Type: \tab Package\cr
Version: \tab 1.0\cr
Date: \tab 2010-05-26\cr
License: \tab What license is it under?\cr
LazyLoad: \tab yes\cr
}
~~ An overview of how to use the package, including the most important ~~
~~ functions ~~
}
\author{
Who wrote it

Maintainer: Who to complain to <yourfault@somewhere.net>
~~ The author and/or maintainer of the package ~~
}
\references{
~~ Literature or other references for background information ~~
}
~~ Optionally other standard keywords, one per line, from file KEYWORDS ~~
~~ in the R documentation directory ~~
\keyword{ package }
\seealso{
~~ Optional links to other man pages, e.g. ~~
~~ \code{\link[<pkg>:<pkg>-package]{<pkg>}} ~~
}
\examples{
~~ simple examples of the most important functions ~~
}