個人的には、一般的に使用される関数、特にベース R 関数のデフォルトの動作を変更することをためらっています。1 つには、再定義された関数を使用するスクリプトまたはコード スニペットの移植性がすぐに低下します。さらに悪いことに、あなたのスクリプトを読んでいる他の R ユーザーは、(a) よく知られた言語要素に対するあなたの個人的な意味を認識していないか、(b) 関数に対する自分の期待を再配線しなければならないことに不満を感じている可能性があります。私にとっては、同じシンボルに異なる設定で異なる意味を与えることは、追加の精神的負担のようにも感じます.
より良い解決策は、好みのデフォルトを実装する同様の名前の関数を作成することだと思います。わずかに変更された名前は、これが使い慣れた基本関数ではないことを効果的に示し、多くのまたは余分な入力の負担をかけません。良い例は、パッケージに含まれているpaste0()
およびcat0()
関数です。(明らかに、のデフォルト設定gsubfn
に (頻繁に) 悩まされているのは、あなたと私だけではありません!):paste()
sep
library(gsubfn)
paste0
# function (..., sep = "")
# paste(..., sep = sep)
# <environment: namespace:gsubfn>
cat0
# function (..., sep = "")
# cat(..., sep = sep)
# <environment: namespace:gsubfn>
次に、これらの関数の多くをテキスト ファイルに集めて、スクリプトの早い段階でソースにするか、(より良い) それらをパッケージ化して への呼び出しを介してロードすることができますlibrary()
。