Загрузить пакет при запуске
Я пытаюсь загрузить пакет при запуске, если он уже установлен. Если это не так, я хочу сначала установить его, а затем загрузить его. Итак, я создал следующую функцию:
RLoadPackage <- function(packname)
{
if((packname %in% rownames(installed.packages()))==FALSE)
{
install.packages(packname,dependencies = TRUE)
}
library(packname,character.only = TRUE)
}
Это хорошо работает после открытия RStudio, но не совсем работает при запуске. Я добавил эту функцию в мой локальный файл.RProfile как:
RLoadPackage("ggplot2")
RLoadPackage <- function(packname)
{
if((packname %in% rownames(installed.packages()))==FALSE)
{
install.packages(packname,dependencies = TRUE)
}
library(packname,character.only = TRUE)
}
Тем не менее, я получаю сообщение об ошибке как:
Error: could not find function "RLoadPackage"
Одним из вариантов является установка пакетов вручную, а затем добавить кучу library("xyz")
Однако вышеприведенный вариант очень неуклюжий. Итак, я создал функцию.
У меня есть 2 вопроса:
1) Может кто-нибудь, пожалуйста, помогите мне с этим?
2) Есть ли более эффективный способ сделать это?
Мой пост основан на следующих двух ссылках: 1) Проверьте наличие установленных пакетов перед запуском install.packages ()2) http://www.statmethods.net/interface/customizing.html
Буду признателен за любую помощь.
Спасибо
1 ответ
Хорошо. Этот кусок кода работает:
library("utils")
RLoadPackage <- function(packname)
{
if((packname %in% rownames(installed.packages()))==FALSE)
{
install.packages(packname,dependencies = TRUE)
}
library(packname,character.only = TRUE)
}
RLoadPackage("ggplot2")
RLoadPackage("dplyr")
RLoadPackage("lubridate")
Однако есть ли более эффективный способ загрузки нескольких пакетов - может быть, это векторизованная версия? Мне просто интересно.