В R, как для установки пакетов используется мой собственный пакет автоматически? - PullRequest
0 голосов
/ 03 октября 2018

Этот вопрос находится рядом со следующим сайтом:

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 Ответ

0 голосов
/ 03 октября 2018

Может быть, вы можете попробовать более простой способ, подобный этому: Добавьте следующий код в ваш .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)
}
...