パッケージのconflictについて

mountain
Author

corocorohashioka

Published

January 12, 2026

Rでは,しばし(まれに)パッケージのコンフリクトが起こる。パッケージ間のコンフリクトとは,同じ名前の関数が違うパッケージに含まれているがゆえに,意図したパッケージの関数を呼び出そうとしたときに意図していない別のパッケージの関数が呼び出されてしまう現象である。そうよく起こる現象ではないが,私のR環境ではしばし以下のようなコンフリクトが発生する。

以下のコードでは,diamondsデータセットにdplyr::filter関数を適用して,価格がサンプル全体の平均未満のものを取り出そうとしているが,どうやらうまく行ってないらしい。 特に,dplyr::filterの第一引数はこの場合dataset内の変数をとるはずだが,errorメッセージを見る限り,objectを認識しようとしている。このことから,呼び出されている関数がdplyr::filterではなく,他のパッケージのfilterである可能性が示唆される。

[1] "package:dplyr" "package:stats"

実際に,環境内の変数を調べると,stats::filterがdplyr::filterより先に呼び出されるようである。