1. ホーム
  2. r

[解決済み】エラー:Rで関数が見つかりませんでした。

2022-04-12 04:42:43

質問

<ブロッククオート

これはFAQの質問であるため、できるだけ詳しく書いてください。この回答はコミュニティの回答ですので、何かが足りないと思われる場合は自由に編集してください。

この質問はmetaで議論され、承認されました。

私はRを使用しており、試してみました。 some.function が、以下のエラーメッセージが表示されました。

Error: could not find function "some.function"

この質問は非常に定期的に出てきます。Rでこの種のエラーが発生したとき、どのように解決すればいいのでしょうか?

どのように解決するのですか?

確認すべきことがいくつかあります。

  1. 関数の名前は正しく書きましたか?名前は大文字と小文字が区別されます。
  2. 関数を含むパッケージをインストールしましたか? install.packages("thePackage") (これは一度だけ行う必要があります)
  3. そのパッケージはワークスペースにアタッチされましたか? require(thePackage) (そしてその戻り値を確認する) または library(thePackage) (これは新しいRセッションを開始するたびに行う必要があります)
  4. この関数がまだ存在しない古いバージョンのRを使用していませんか?
  5. 異なるバージョンの特定の パッケージ ? これはどちらにも当てはまります。時間の経過とともに機能が追加、削除されており、あなたが参照しているコードが、あなたがインストールしているものよりも新しい、あるいは古いバージョンのパッケージを期待している可能性があります。

もしその関数がどのパッケージにあるかわからない場合、いくつかの方法があります。

  1. 正しいパッケージをインストールし、アタッチ/ロードしたことが確実な場合は、次のように入力します。 help.search("some.function") または ??some.function をクリックすると、それがどのパッケージに含まれているかを示す情報ボックスが表示されます。
  2. find そして getAnywhere は、関数の検索にも使用できます。
  3. パッケージの手がかりがない場合は findFn の中に sos パッケージで説明されているように この回答 .
  4. RSiteSearch("some.function") で検索したり rdocumentation または 検索 は、関数を見つけるための別の方法です。

Rの古いバージョンを使いながら、新しいバージョン用に作成されたコードを実行する必要がある場合があります。新しく追加された関数(例えば、R 3.4.0のhasName)は、その時には見つからないでしょう。古いバージョンのRを使っていて、新しい関数を使いたい場合は、パッケージの バックポート を使えば、そのような関数を利用できるようになります。また、バックポートが必要な関数の一覧は backportsのgitレポ . R3.0.0より古いバージョンのRは、R3.0.0以降のバージョン用にビルドされたパッケージと互換性がないことに留意してください。