Establecer espejo CRAN predeterminado permanente en R

102

¿Cómo puedo configurar un espejo CRAN específico de forma permanente en R?

Quiero configurarlo permanentemente en mi computadora portátil para que cuando lo haga install.packages(), no me vuelva a preguntar qué espejo elegir.

719016
fuente
1
Consulte stackoverflow.com/questions/1189759/… para ver ejemplos de .Rprofile.
jthetzel
4
es posible que desee editar el Rprofilearchivo global . En las plataformas * NIX, está ubicado en /usr/lib/R/library/base/R/Rprofile. Solo tenga cuidado ... y tenga en cuenta que la .Rprofileconfiguración local tiene prioridad.
aL3xa
1
Siguiendo con el comentario de @ aL3xa, vea ?Startuplos detalles realmente sangrientos de dónde se pueden ubicar los archivos `.Rprofile y cuáles tienen prioridad.
Josh O'Brien
Y observe los objetos .Firsty .Last.
aL3xa

Respuestas:

118

Puede establecer acuerdos de recompra en su .Rprofile para restaurar su elección cada vez que se inicia R

Editar: para ser más precisos:

Añadir

options(repos=structure(c(CRAN="YOUR FAVORITE MIRROR")))

a su .Rprofile


Alternativamente, puede configurar el sitio espejo para todo el sitio en su Rprofile.site. La ubicación del archivo viene dada por ?Startup:

La ruta de este archivo se toma del valor de la R_PROFILE variable de entorno (después de la expansión de tilde). Si esta variable no está configurada, el valor predeterminado es R_HOME/etc/Rprofile.site, que se usa si existe (lo cual no ocurre en una instalación 'nueva de fábrica').

Lo mismo ocurre Sys.getenv("R_PROFILE")con la primera opción Sys.getenv("R_HOME")o R.home()con la segunda opción. En macOS, la ubicación del segundo es /Library/Frameworks/R.framework/Resources/etc/.

Es posible que el archivo no exista o que vea las siguientes líneas comentadas:

# set a CRAN mirror
# local({r <- getOption("repos")
#       r["CRAN"] <- "http://my.local.cran"
#       options(repos=r)})

Por lo tanto, elimine las marcas de comentarios y cambie " http: //my.local.cran " al sitio web correcto, por ejemplo:

local({r <- getOption("repos")
       r["CRAN"] <- "http://cran.r-project.org"
       options(repos=r)})
rinni
fuente
1
Agregué información adicional, ya que no valía la pena una respuesta adicional y demasiado para un comentario.
Joris Meys
2
No creo que la llamada a structureesté haciendo nada. Por lo general, es solo una forma conveniente de agregar atributos a un objeto.
Richie Cotton
@rinni: gracias, busqué en Google la lista de URL y encontré la más cercana a la que describiste en el .Rprofilearchivo.
3
No parece haber un RProfile.sitearchivo en mi R 3.3.1 en Arch Linux x86_64. Hay un archivo llamado RProfileque no contiene las líneas comentadas mencionadas en la respuesta.
SACHIN GARG
5
donde "YOUR FAVORITE MIRROR" es la URL, no el nombre.
pdb