Rで自作の関数や変数をワークスペースに表示させない方法
Rでは自作の関数や変数を作成することができるが、これらは通常のRスクリプトから読み込むと、ワークスペース(ls()
で表示されるオブジェクト郡)に表示されてしまい、煩雑になりがちである。
それを解決する方法は、自作の関数や変数をパッケージ化してしまうことである。
目的
自作関数・変数をワークスペースに表示させずに定義したい。
方法
自作パッケージを作成する。
手順
1. コード
まず、自作関数・変数を記述したRスクリプトファイルを準備する。
ファイルは複数可。
ここでは、code1.R
・code2.R
を作成したとする。
これらを作業用ディレクトリ(例えば~/tmp/
)に置く。
2. スケルトン
作成するパッケージ(mypackage
)のテンプレートを作成する。
setwd("~/tmp") # 作業用ディレクトリに移動 library(tools) package.skeleton("mypackage", code_files = c("code1.R", "code2.R"))
~/tmp/mypackage
が作成されるはず。ここには以下のファイルが生成されている。
ディレクトリ・ファイル名 | 内容 |
---|---|
man/ | マニュアル(ヘルプ)が入っているディレクトリ |
R/ | 自作関数らのRコードが入っているディレクトリ |
NAMESPACE | 名前空間 |
DESCRIPTION | パッケージの説明 |
Read-and-delete-me | 読んだら捨てて良し(捨てなくても良し) |
3. マニュアル
manファイルは各関数、各変数ごとに一つ一つ作成されている。
これの3, 4行目あたりの\title
部分を完成させる。
というのも、manファイルの\title
部分が空だとエラーになるためだ。
\title{ %% ~~ data name/kind ... ~~ %%%%%%%%%%%%%%%%%%%% %%% タイトルを書く %%% %%%%%%%%%%%%%%%%%%%% }
4. パッケージ化
ターミナルを起動して、以下を実行
% cd ~/tmp/ % R CMD INSTALL mypackage
5. テスト
Rを起動して、以下を実行
library(mypackage) ls()
character(0)
と表示されるはず。それでも自作関数や変数は使える状態であることを確認しよう。
結論
自作関数・変数を、ワークスペースに表示させずに、作成したい場合は、パッケージ化させてしまうとスッキリする。