web-dev-qa-db-fra.com

Comment sélectionner un miroir CRAN dans R

J'essaie d'installer un paquet via l'invite R en procédant comme suit:

install.packages('RMySQL')

Mais le résultat est le suivant: 

--- Please select a CRAN mirror for use in this session ---

Et rien d'autre! Je ne trouve pas de solution à ce problème très fondamental. Que dois-je taper pour sélectionner un miroir CRAN? 

MODIFIER: 

Système d'exploitation: Mac-OS X 10.6.8 R Version: 2.15.0

146
Jim Johnson

Vous devriez soit obtenir une fenêtre avec une liste de référentiels ou un menu texte avec quelques options. Mais si cela n'apparaît pas, vous pouvez toujours spécifier le miroir d'où télécharger les packages vous-même en utilisant le paramètre repos. En faisant cela, R ne vous posera plus de questions sur le référentiel. Exemple:

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

Ici vous avez une liste de miroirs pour R.

234
betabandido

Voici ce que je fais, qui est essentiellement issu de la page example(Startup):

## Default repo
local({r <- getOption("repos")
       r["CRAN"] <- "http://cran.r-project.org" 
       options(repos=r)
})

qui est dans ~/.Rprofile.

Edit: Comme nous sommes en 2018, nous pouvons ajouter que l’URL "https://cloud.r-project.org" est préférable depuis quelques années, car elle reflète a) un accès https et b) un CDN "toujours proche de vous".

72
Dirk Eddelbuettel

Je suis fan de:

chooseCRANmirror()

Ce qui imprimera la liste des miroirs dans la sortie (ne vous inquiétez pas d'une fenêtre contextuelle puisque vous l'exécutez depuis le terminal) et vous entrez ensuite le numéro souhaité.

54
Jared

J'utilise la solution ~/.Rprofile suggérée par Dirk, mais je voulais juste souligner que 

chooseCRANmirror(graphics=FALSE)

semble être la chose sensée à faire au lieu de

chooseCRANmirror(81)

, qui peut fonctionner, mais qui implique le chiffre magique 81 (ou peut-être est-ce une façon subtile de promouvoir le tourisme à 81 = UK (Bristol) :-))

23
vijucat

L'écran de sélection de référentiel ne peut pas être affiché sur votre système (OS X), car OS X ne comprend plus X11. R essaie de vous montrer l'invite via X11. Installez X11 à partir de http://xquartz.macosforge.org/landing/ . Ensuite, exécutez la commande install. L'invite de sélection du dépôt sera affichée. 

11
Cahit Gungor

Si vous devez définir le miroir de manière non interactive (par exemple, effectuer une installation de rbundler dans un script de déploiement), vous pouvez le faire comme suit:

Première exécution manuelle:

chooseCRANmirror()

Choisissez le numéro de miroir qui vous convient le mieux et souvenez-vous-en. Puis pour automatiser la sélection:

R -e 'chooseCRANmirror(graphics=FALSE, ind=87);library(rbundler);bundle()'

Où 87 est le numéro du miroir que vous souhaitez utiliser. Cet extrait installe également le problème pour vous. Vous pouvez l'omettre si vous aimez.

3
Kyle

j'ai utilisé

chooseCRANmirror (81)

cela vous donne une invite à sélectionner le pays .__ 

2
user3470929

Un menu déroulant devrait vous être proposé (ou vous aurez le choix parmi plusieurs nombres), que vous utilisiez R dans le terminal ou un IDE tel que RStudio. Ceci est pris en charge sous Windows, Mac OS et la plupart des systèmes Linux. Toutefois, cela peut nécessiter une configuration supplémentaire ou des dépendances telles que X-windows.

Pour activer X-windows lors de l'utilisation d'un accès à distance, utilisez les indicateurs -XY suivants:

ssh -XY [email protected]

Il y a souvent un référentiel par défaut, mais vous pouvez le spécifier si vous rencontrez un problème, tel que l'exécution de scripts ou de Rmarkdown/knitr. Vous pouvez utiliser l'option repo le miroir ou le référentiel pour CRAN chaque fois que vous installez avec:

install.packages("package", repo="<your.nearest.mirror>")

Il est conseillé d'utiliser le miroir le plus proche de votre position pour des téléchargements plus rapides. Par exemple:

install.packages("RMySQL", repos="https://cran.stat.auckland.ac.nz/")

Vous pouvez également définir l’option repos dans votre session afin qu’elle ne soit nécessaire qu’une fois par session interactive (ou par script). Vous pouvez vérifier si repos est configuré avec:

options(repos)

Si vous obtenez "Error in options(repos) : object 'repos' not found", vous pouvez définir l'option de référentiel. Par exemple:

options(repos = "https://cran.stat.auckland.ac.nz/")

Ensuite, il devrait fonctionner pour installer les paquets comme d’habitude. Par exemple:

install.packages("RMySQL")

Comme mentionné par d'autres, vous pouvez configurer le référentiel dans votre fichier .Rprofile et le faire fonctionner dans tous vos scripts. C'est à vous de décider si vous préférez ces options "globales" sur votre système ou "locales" dans votre session ou votre script. Ces options "locales" prennent plus de temps pour utiliser chaque session, mais ont l'avantage de permettre à d'autres utilisateurs d'utiliser vos scripts s'ils ne possèdent pas votre .Rprofile.

1
Tom Kelly

J'avais, sur macOS, exactement ce que vous dites: A 's'il vous plaît sélectionnez' Invite, puis rien de plus.

Après avoir ouvert (et mis à jour; je ne sais pas si cela était pertinent) X-Quartz, puis relancé R et réessayé, une liste de miroirs X-window parmi lesquels choisir après quelques secondes C'était plus rapide la troisième fois.

0
Chris F Carroll

Vous pouvez également désactiver tous les menus graphiques en l'exécutant ou en le plaçant dans votre profil Rprofile.

options(menu.graphics = FALSE)
0
Extrapolator

Ajouter dans ~/.Rprofile

local({r <- getOption("repos")
    r["CRAN"] <- "mirror_site"  #for example, https://mirrors.ustc.edu.cn/CRAN/
    options(repos=r)
    options(BioC_mirror="bioc_mirror_site") #if using biocLite
})
0
user6047846