Чтобы сделать мой код более читабельным, мне нравится избегать имен объектов, которые уже существуют при создании новых объектов. Из-за основанной на пакетах природы R, а также потому, что функции являются объектами первого класса, может быть легко перезаписать общие функции, которых нет в базе R (поскольку общий пакет может использовать короткое имя функции, но не зная, какой пакет загрузить нет возможности проверить это). Такие объекты, как встроенная логика T и F, также вызывают проблемы.
Вот некоторые примеры, которые приходят на ум:
Одна буква
Две буквы
Лучшее решение может состоять в том, чтобы вообще не использовать короткие имена в пользу более описательных, и я обычно стараюсь делать это по привычке. И все же «df» для функции, которая манипулирует универсальным data.frame, достаточно описательный, а более длинное имя добавляет мало, поэтому короткие имена имеют свое применение. Кроме того, для вопросов SO, где более широкий контекст не обязательно известен, придумать описательные имена почти невозможно.
Какие другие одно- и двухбуквенные имена переменных конфликтуют с существующими объектами R? Какие из них достаточно распространены, чтобы их избегать? Если они не указаны в base
, пожалуйста, укажите также пакет. Лучшие ответы будут включать, по крайней мере, некоторый код; пожалуйста, предоставьте его, если используется.
Обратите внимание, что я не спрашиваю, целесообразно или нет перезаписывать уже существующие функции. Этот вопрос уже адресован SO:
В R, в чем именно проблема наличия переменных с тем же именем, что и у базовых функций R?
Визуализации некоторых ответов здесь, см. Этот вопрос в резюме:
https://stats.stackexchange.com/questions/13999/visualizing-2-letter-combinations