Exploratory で R の関数を使ったときに、次のようなエラーメッセージが表示されることがあります。
could not find function "xxxxx"
これは「指定した名前の関数が見つからない」という意味のエラーです。
関数名のタイプミスがないのにこのエラーが出る場合、原因は大きく分けて次の2つのケースがあります。それぞれ対処法が異なるので、まずどちらのケースなのかを切り分けてください。
- 使いたい関数を含むR パッケージがプロジェクトに読み込まれていない
- 使いたい 自作関数(カスタム R スクリプト)がプロジェクトに登録されていない
ケース1: R パッケージが読み込まれていない
Gini や distHaversine のように、R の関数の多くは特定のパッケージに含まれています。そのパッケージがプロジェクトに読み込まれていないと、関数名が正しくても could not find function のエラーになります。
このケースの詳しい対処法は、以下の既存の投稿で紹介しています。
ケース2: 自作関数(カスタム R スクリプト)が登録されていない
Exploratory では、よく使う処理を 自作関数(カスタム R スクリプト) として定義し、プロジェクトの中で呼び出すことができます。この自作関数を使おうとしたときにも、パッケージの関数とまったく同じ could not find function のエラーが出ることがあります。
この場合は、いくら R パッケージをインストールしても解決しません。原因は、その自作関数がプロジェクトに登録されていないことです。たとえば次のような状況で起こります。
- 自作関数をまだ作成・登録していないのに、関数名だけをコマンドで使ってしまっている
- 別のプロジェクトで作った自作関数を、今のプロジェクトに登録していない
自作関数の作り方、登録方法については、以下のノートをご参照ください。