Сделать пакет в 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, где искать. Для этого выполните следующие действия:
- Создайте новую папку на вашем ПК для использования в качестве вторичной папки библиотеки R. Например, у меня есть папка с именем secondRlibrary в моих документах Windows со следующим путем ("C:\Users\myusername\Documents\secondRlibrary")
- Перейдите в папку библиотеки 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)
- Найти и переместить (вырезать и вставить) папки и все их содержимое для соответствующих пакетов в новую папку. Папки обычно имеют те же имена, что и имена пакетов R. Таким образом, когда R начинается. Обязательно удалите их из всех папок, перечисленных выше, в новую папку, которую вы только что создали.
- Если вы запустите R, пакеты не будут загружаться автоматически, так как они не будут найдены в расположении библиотеки R по умолчанию (и R не может найти их автоматически, если вы не скажете это).
- Если вы хотите загружать пакеты по отдельности, используйте функцию библиотеки с аргументом lib.loc, чтобы указать путь к библиотеке, содержащей этот пакет (в данном случае, новую папку, которую вы только что создали). Например, если бы я хотел загрузить пакет RMySQL, я бы использовал следующий код
library("package:RMySQL",lib.loc = "C:/Users/myusername/Documents/secondRlibrary")
- В качестве альтернативы, если вы не хотите использовать аргумент lib.loc в функции библиотеки выше, вы можете запустить эту строку в начале ваших R-скриптов, то есть если вам нужно использовать эти пакеты в этих R-скриптах:
.libPaths(c(.libPaths(),"C:/Users/myusername/Documents/secondRlibrary"))
,
Затем вы можете запустить библиотечную функцию без аргумента lib.loc. Строка выше добавит вновь созданную папку в список папок R по умолчанию для поиска пакетов.