Я лично был бы очень нерешительным, чтобы изменить поведение по умолчанию для любых часто используемых функций - особенно для базовых функций R. С одной стороны, это немедленно уменьшит переносимость любых сценариев или фрагментов кода, в которых вы используете переопределенные функции. Хуже того, другие пользователи R, читающие ваши сценарии, вероятно, либо: (а) не будут знать о ваших личных значениях для хорошо известных языковых элементов, либо (б) будут разочарованы необходимостью пересмотреть свои собственные ожидания относительно функций. Для меня было бы также дополнительным умственным бременем приписывать разные значения одному и тому же символу в разных условиях.
Я думаю, что намного лучшее решение состоит в создании функций с аналогичными именами, реализующих ваши предпочтительные значения по умолчанию. Слегка измененное имя фактически отметит, что это не знакомая базовая функция, не обременяя вас большим или дополнительным набором текста. Хорошим примером являются функции 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()
.