Какие имена объектов из 1-2 букв конфликтуют с существующими объектами R?

Чтобы сделать мой код более читабельным, я предпочитаю избегать имен объектов, которые уже существуют, при создании новых объектов. Из-за пакетной природы R и поскольку функции являются объектами первого класса, можно легко перезаписать общие функции, не входящие в базовый R (поскольку общий пакет может использовать короткое имя функции, но не зная, какой пакет использовать. load нет возможности проверить это). Такие объекты, как встроенные логические элементы T и F, также вызывают проблемы.

На ум приходят некоторые примеры:

Одна буква

  • c
  • t
  • T / F
  • J

Две буквы

  • df

Лучшее решение могло бы состоять в том, чтобы полностью отказаться от использования коротких имен в пользу более описательных, и я обычно стараюсь делать это по привычке. Тем не менее, "df" для функции, которая управляет универсальным data.frame, достаточно наглядно, а более длинное имя мало что добавляет, поэтому короткие имена имеют свое применение. Кроме того, для вопросов SO, где более широкий контекст не обязательно известен, придумать описательные имена практически невозможно.

Какие еще одно- и двухбуквенные имена переменных конфликтуют с существующими объектами R? Какие среди них достаточно распространены, что их следует избегать? Если их нет в базе , укажите также и пакет. Лучшие ответы будут включать в себя хотя бы какой-то код; пожалуйста, предоставьте его, если он используется.

Обратите внимание, что я не спрашиваю, целесообразно ли перезапись уже существующих функций или нет. Этот вопрос уже решен в SO:

В чем именно заключается проблема наличия переменных с тем же именем, что и базовые функции R?

Для визуализации некоторых ответов здесь см. Этот вопрос в CV:

https://stats.stackexchange.com/questions/13999/visualizing-2-letter-combinations

14
задан Community 23 May 2017 в 12:02
поделиться