2015-11-28 11 views
23

Utilizzando il codice seguente ho ottenuto i dati che volevo, ma per qualche motivo non riesco a capire knitr non mi permette di compilare un documento PDF, come illustrato più avanti:install.packages fallisce nel documento knitr: "prova ad usare CRAN senza impostare un mirror"

il mio codice:

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

funziona senza alcun problema, ma ottengo il seguente messaggio di provare compilare il 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 

risposta

31

Knitr produce una R sessione, senza un mirror cran predefinito, a meno che non ne abbiate specificatamente richiesto uno. Tendiamo a dimenticare che abbiamo bisogno di configurare CRAN per ogni sessione R quando usiamo Rstudio perché ci si prende cura di esso, ma solo per uso interattivo, non per knitr.

Si potrebbe provare a specificare uno specchio come argomento install.packages:

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

In alternativa, è possibile impostare il vostro specchio di default CRAN nel vostro .Rprofile. Vedi this answer.

Detto questo, non è una buona idea installare pacchetti attraverso un documento knitr che probabilmente compilerai più volte. Si dovrebbe assumere la gente sa come installare un pacchetto mancante, se necessario, o almeno prova se è installato il pacchetto prima di installare di nuovo

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

Interessante - si può spiegare * perché * non c'è specchio CRAN default nella nuova ambiente? –

+3

In realtà intendevo la sessione R, non l'ambiente. Perdonami per quello. Questo è solo un comportamento R predefinito che tendiamo a dimenticare quando usiamo Rstudio, perché si prende cura di esso. – scoa

+1

Nessuna preoccupazione, non ero confuso riguardo "ambiente" vs. "sessione" (questo era chiaro dal contesto). Tuttavia, non sapevo che RStudio è coinvolto nell'impostazione di tali opzioni. Grazie per il chiarimento. –

Problemi correlati