Подтвердить что ты не робот

Install.packages терпит неудачу в документе knitr: "пытается использовать CRAN без установки зеркала"

Используя следующий код, я получил нужные данные, но по какой-то причине я не могу понять, что knitr не позволяет мне скомпилировать PDF-документ, как показано ниже:

Мой код:

install.packages("weatherData")
library(weatherData)
istanbul <- getWeatherForDate("Istanbul",
                              start_date = Sys.Date() - 41, 
                              end_date = Sys.Date())

Выполняется без проблем, но я получаю следующее сообщение, пытающееся скомпилировать PDF:

Quitting from lines 3-31 (ist_weather.spin.Rmd) 
Error in contrib.url(repos, type) : 
  trying to use CRAN without setting a mirror
Calls: <Anonymous> ... eval -> eval -> install.packages -> grep -> contrib.url
Execution halted
4b9b3361

Ответ 1

Knitr производит сеанс R без зеркального кранового зеркала, если вы специально его не попросили. Мы склонны забывать, что нам нужно настроить CRAN для каждого сеанса R, когда мы используем Rstudio, потому что он заботится об этом, но только для интерактивного использования, а не для knitr.

Вы можете попробовать указать зеркало как аргумент install.packages:

install.packages("weatherData",repos = "http://cran.us.r-project.org")

В качестве альтернативы вы можете настроить зеркало CRAN по умолчанию в своем .Rprofile. См. этот ответ.

Тем не менее, не рекомендуется устанавливать пакеты через документ knitr, который вы, вероятно, будете компилировать несколько раз. Вы должны предположить, что люди знают, как установить недостающий пакет, если необходимо, или, по крайней мере, проверить, установлен ли пакет перед его установкой.

if(!require(weatherData)) install.packages("weatherData",repos = "http://cran.us.r-project.org")