В R, как для установки пакетов используется мой собственный пакет автоматически?
Этот вопрос находится рядом со следующим сайтом:
R - Импорт пакета 'xlsx' в мой собственный пакет не работает
Я сделал пакет, названный aa
в каком-то компьютере, в котором установки идут хорошо.
Когда я пытаюсь установить свой собственный пакет на другом компьютере, появляется следующее сообщение об ошибке:
==> Rcmd.exe INSTALL --no-multiarch --with-keep.source aa
* installing to library 'C:/Users/aaaaaaaaaaa/Documents/R/win-library/3.5'
ERROR: dependencies 'knitr', 'rstan', 'readxl', 'testdat', 'openxlsx', 'xlsx', 'gridExtra' are not available for package 'aa'
* removing 'C:/Users/aaaaaaaaaaa/Documents/R/win-library/3.5/aa'
In R CMD INSTALL
Exited with status 1.
С моей стороны, как только я установил пакет knitr
который описан выше ошибка, то сообщение об ошибке является следующим из которого пакет knitr
исчезает:
==> Rcmd.exe INSTALL --no-multiarch --with-keep.source aa
* installing to library 'C:/Users/aaaaaaaaaaa/Documents/R/win-library/3.5'
ERROR: dependencies 'rstan', 'readxl', 'testdat', 'openxlsx', 'xlsx', 'gridExtra' are not available for package 'aa'
* removing 'C:/Users/aaaaaaaaaaa/Documents/R/win-library/3.5/aa'
In R CMD INSTALL
Exited with status 1.
Что я хочу знать, так это то, что пакеты, используемые в моих собственных пакетах, устанавливаются автоматически или нет.
1 ответ
Может быть, вы можете попробовать более простой способ, подобный этому: Добавьте следующий код в свой .R
файл
tryCatch({
library(knitr)
}, error = function(e) {
install.packages("knitr")
library(knitr)
})
Или же
if("knitr" %in% installed.packages()[,1]){
library(knitr)
}else{
install.packages("knitr")
library(knitr)
}