Есть много пакетов (9008 на момент, август 2016 года), поэтому почти наверняка лучше посмотреть только на подмножество, с которым вы хотите избежать столкновений. Кроме того, чтобы еще раз подчеркнуть некоторые хорошие советы в комментариях (только для записи в случае комментариев удаляются, или скрытый):
- имена функций обмена с другими пакетами на самом деле не является большой проблемой, а не избегать столкновений с общими пакетами, которые, скорее всего, будут загружены в одно и то же время (спасибо @Nicola и @Joran)
- Не обойтись без повторного использования имен «приводит к неправильным именам функций, потому что хорошие приняты»(@Konrad Rudolph)
Но, если вы действительно покупке проверить все пакеты, возможно, по крайней мере, знать, какие пакеты используют одни и те же имена, как ваша, вы можете получить вектор имен пакетов по
crans <- available.packages()[, "Package"]
# A3 abbyyR abc ABCanalysis abc.data abcdeFBA
# "A3" "abbyyR" "abc" "ABCanalysis" "abc.data" "abcdeFBA"
length(crans)
# [1] 9008
Вы можете установить их в объеме, используя
N = 4 # only using the 1st 4 packages here -
# doing it for the whole lot will take a lot of time and disk space!!!
install.packages(crans[1:N])
Тогда вы можете получить список имен функций в этих пакетах с
existing_functions = sapply(1:N, function(i) ls(getNamespace(crans[i])))
Похожая (но не совсем ответ): [список функций пакета] (HTTP: // ул ackoverflow.com/questions/22488645/list-of-functions-of-a-package) – Tensibai
На мой взгляд, это не огромная сделка, чтобы иметь имена функций, совместно используемые с другими пакетами. Хорошие методы программирования могут легко избежать конфликтов. Кроме того, количество функций в пакетах CRAN огромно, и проверка их всех может быть очень утомительной. Я просто попытаюсь использовать не очень распространенные слова и имена функций пакета «base» (и других базовых пакетов, таких как «статистика»). Я думаю, этого должно быть достаточно. – nicola
Я согласен в основном с @nicola, я бы добавил, что если есть несколько пакетов, которые, по вашему мнению, могут быть загружены с вашими, вероятно, стоит попытаться избежать конфликтов с функциями в этих пакетах. – joran