yihui tutorial opts_chunk name font examples asp r knitr

tutorial - knitr::opts_chunk



install.packages falla en el documento knitr: "tratando de usar CRAN sin configurar un espejo" (2)

Usando el siguiente código, obtuve los datos que quería, pero por alguna razón no puedo entender que knitr no me permite compilar un documento PDF, como se muestra a continuación:

Mi código:

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

Funciona sin problemas, pero recibo el siguiente mensaje intentando compilar el 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


Debe establecer el repositorio CRAN en su R. Para hacerlo, inicie R o RStudio. en la terminal R ejecutar códigos siguientes.

r = getOption("repos") r["CRAN"] = "http://cran.us.r-project.org" options(repos = r) install.packages("weatherData")

El código anterior define el repositorio CRAN en la R y en la próxima instalación del paquete, no es necesario definirlo nuevamente.

Otra forma alternativa es ejecutar install.packages("weatherData", repos="http://cran.us.r-project.org") . Sin embargo, con la segunda solución, el repositorio no está configurado y debe pasarlo como parámetro en cada instalación de paquete.


Knitr produce una sesión R, sin un espejo craneal predeterminado, a menos que usted solicite específicamente una. Solemos olvidar que necesitamos configurar CRAN para cada sesión de R cuando usamos Rstudio porque se ocupa de ello, pero solo para uso interactivo, no para knitr.

Puedes intentar especificar un espejo como un argumento de install.packages :

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

Alternativamente, puede configurar su espejo CRAN predeterminado en su .Rprofile . Ver esta respuesta

Dicho esto, no es una buena idea instalar paquetes a través de un documento knitr que probablemente compilará varias veces . Debe asumir que la gente sabe cómo instalar un paquete faltante si es necesario, o al menos probar si el paquete está instalado antes de volver a instalarlo.

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