Сделать пакет в R не требуется для загрузки при запуске R/RStudio?

Я очень много искал, чтобы найти ответ на этот вопрос, прежде чем спрашивать, и не смог найти ответ, но если он есть, укажите мне на него. Каждый раз, когда я запускаю R studio, у меня автоматически загружаются пакеты, например:

Loading required package: RMySQL
Loading required package: DBI
Loading required package: cocor
Loading required package: RMySQL

Я хотел бы, чтобы эти пакеты автоматически прекращали загрузку каждый раз, когда я запускаю R studio, и пытался удалить и переустановить R and R studio в дополнение к следующему:

detach("package:RMySQL",unload=TRUE)

Для всех трех этих пакетов и это не работает. Пожалуйста помоги! Спасибо.

sapply(ls(), function(x) class(get(x)))
named list()

3 ответа

Решение

Судя по комментариям, которые вы разместили, похоже, что вы используете Windows. Расположение для пользователя .RProfile может быть показано с помощью:

(my_rprofile <- file.path(Sys.getenv("R_USER"), ".RProfile"))

Затем вы можете проверить, существует ли этот файл, используя:

file.exists(my_rprofile)

и если это вернется TRUEоткройте его для редактирования, используя:

file.edit(my_rprofile)

Если файла нет, попробуйте:

file.exists(".RProfile")

и если TRUE:

file.edit(".RProfile")

Если вы выполните эту команду в RStudio, вы должны открыть окно с текущим содержимым вашего .RProfile, Я подозреваю, что это включает в себя что-то вроде:

library("RMySQL")

которые вы затем должны удалить, если это необходимо, перед сохранением.

Другие вещи, чтобы проверить:

Sys.getenv("R_DEFAULT_PACKAGES")
# should be blank
.First
# should give an error that .First not found

Если .First установлен, и у вас нет .RProfile файл, он может быть определен в file.path(Sys.getenv("R_USER"), ".RData") и стоило бы переименовать этот файл (или отключить восстановление .RData в опциях RStudio.

Даже если .First не определено, я все равно попробую загрузить R/RStudio без восстановления из .RData возможно, вы восстанавливаете некоторые объекты S4, которые зависят от этих пакетов.

Посмотрите на этот пост, и вы, вероятно, хотите найти свой .RProfile файл. смотреть на ?Startup (обратите внимание на заглавную S) для получения дополнительной помощи. .RProfile это должно быть под /etc/ папка внизу, где R установлен на вашем компьютере. Согласно сообщению выше, быстрый способ найти его местоположение - запустить следующее:

candidates <- c( Sys.getenv("R_PROFILE"),
                 file.path(Sys.getenv("R_HOME"), "etc", "Rprofile.site"),
                 Sys.getenv("R_PROFILE_USER"),
                 file.path(getwd(), ".Rprofile") )

Filter(file.exists, candidates)

Способ решения этой проблемы в прошлом - просто создать новую папку где-нибудь на вашем компьютере для использования в качестве альтернативной папки библиотеки R и переместить соответствующие папки пакетов из библиотеки по умолчанию в эту папку. По сути, когда R ищет эти пакеты, он не найдет их, поскольку R не будет знать, куда вы их переместили, если вы не укажете R, где искать. Для этого выполните следующие действия:

  1. Создайте новую папку на вашем ПК для использования в качестве вторичной папки библиотеки R. Например, у меня есть папка с именем secondRlibrary в моих документах Windows со следующим путем ("C:\Users\myusername\Documents\secondRlibrary")
  2. Перейдите в папку библиотеки R, в которой установлены пакеты. На моем компьютере с Windows это находится в "C:\Users\myusername\Documents\R\win-library\3.0.2". Иногда их также можно найти в следующих папках:("C:\Program Files\R\R-3.0.2\library","C:\Program Files(x86)\R\R-3.0.2\library"), в зависимости от версии R, на которой вы работаете.(Я использую версию 3.0.2)
  3. Найти и переместить (вырезать и вставить) папки и все их содержимое для соответствующих пакетов в новую папку. Папки обычно имеют те же имена, что и имена пакетов R. Таким образом, когда R начинается. Обязательно удалите их из всех папок, перечисленных выше, в новую папку, которую вы только что создали.
  4. Если вы запустите R, пакеты не будут загружаться автоматически, так как они не будут найдены в расположении библиотеки R по умолчанию (и R не может найти их автоматически, если вы не скажете это).
  5. Если вы хотите загружать пакеты по отдельности, используйте функцию библиотеки с аргументом lib.loc, чтобы указать путь к библиотеке, содержащей этот пакет (в данном случае, новую папку, которую вы только что создали). Например, если бы я хотел загрузить пакет RMySQL, я бы использовал следующий код

library("package:RMySQL",lib.loc = "C:/Users/myusername/Documents/secondRlibrary")

  1. В качестве альтернативы, если вы не хотите использовать аргумент lib.loc в функции библиотеки выше, вы можете запустить эту строку в начале ваших R-скриптов, то есть если вам нужно использовать эти пакеты в этих R-скриптах:.libPaths(c(.libPaths(),"C:/Users/myusername/Documents/secondRlibrary")),

Затем вы можете запустить библиотечную функцию без аргумента lib.loc. Строка выше добавит вновь созданную папку в список папок R по умолчанию для поиска пакетов.

Другие вопросы по тегам