- 何故か知らねど、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'の中に今は、パッケージの説明ファイルしかないが、このほかに関数ごとの説明ファイルを付け加えていく(詳細、未確認)
\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 ~~
}