it-swarm.com.de

So wählen Sie einen CRAN-Spiegel in R aus

Ich versuche, ein Paket über die R-Eingabeaufforderung zu installieren, indem Sie Folgendes tun:

install.packages('RMySQL')

Die Ausgabe ist jedoch wie folgt: 

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

Und sonst nichts! Ich kann keine Lösung für dieses sehr grundlegende Problem finden. Was soll ich eingeben, um einen CRAN-Spiegel auszuwählen? 

BEARBEITEN: 

Betriebssystem: Mac-OS X 10.6.8 R Version: 2.15.0

146
Jim Johnson

Sie sollten entweder ein Fenster mit einer Liste von Repositorys oder ein Textmenü mit einigen Optionen erhalten. Wenn dies nicht der Fall ist, können Sie immer mit Hilfe des Parameters repos den Spiegel angeben, von dem aus Sie die Pakete selbst herunterladen möchten. Auf diese Weise wird R Sie nicht mehr nach dem Repository fragen. Beispiel:

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

Hier haben Sie eine Liste der Spiegel für R.

234
betabandido

Ich mache das, was im Wesentlichen direkt von der example(Startup) Seite ist:

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

welches ist in ~/.Rprofile.

Edit: Da es jetzt 2018 ist, können wir hinzufügen, dass in den letzten Jahren die URL "https://cloud.r-project.org" vorzuziehen war, da sie a) https-Zugriff und b) ein "Always-near-you" -CDN enthält.

72

Ich bin ein Fan von:

chooseCRANmirror()

Dadurch wird die Liste der Spiegel in der Ausgabe gedruckt (es ist kein Problem mit einem Popup-Fenster, da Sie es vom Terminal aus ausführen) und geben Sie dann die gewünschte Anzahl ein.

54
Jared

Ich benutze die von Dirk vorgeschlagene ~/.Rprofile-Lösung, aber ich wollte nur darauf hinweisen 

chooseCRANmirror(graphics=FALSE)

scheint das vernünftige zu sein, statt zu tun

chooseCRANmirror(81)

, was vielleicht funktioniert, aber die magische Zahl 81 beinhaltet (oder vielleicht ist dies ein subtiler Weg, um den Tourismus auf 81 = UK (Bristol) zu fördern :-))

23
vijucat

Der Repository-Auswahlbildschirm kann auf Ihrem System (OS X) nicht angezeigt werden, da OS X kein X11 mehr enthält. R versucht Ihnen die Aufforderung durch X11 zu zeigen. Installieren Sie X11 von http://xquartz.macosforge.org/landing/ . Führen Sie dann den Installationsbefehl aus. Die Aufforderung zur Repo-Auswahl wird angezeigt. 

11
Cahit Gungor

Wenn Sie die Spiegelung auf nicht interaktive Weise einstellen müssen (z. B. eine rbundler-Installation in einem Implementierungsskript), können Sie dies auf folgende Weise tun:

Erste manuelle Ausführung:

chooseCRANmirror()

Wählen Sie die Spiegelnummer, die für Sie am besten geeignet ist, und merken Sie sich diese. Dann automatisieren Sie die Auswahl:

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

Dabei ist 87 die Nummer des Spiegels, den Sie verwenden möchten. Dieses Snippet installiert auch das rbundle für Sie. Sie können das weglassen, wenn Sie möchten.

3
Kyle

ich benutzte

selectCRANspiegel (81)

sie erhalten eine Aufforderung, das Land auszuwählen Sie können die Auswahl durch Eingabe des dort angegebenen Länderspiegelcodes vornehmen 

2
user3470929

Ein Dropdown-Menü sollte angezeigt werden, aus dem Sie auswählen können (oder Sie erhalten eine Reihe von Zahlen zur Auswahl), unabhängig davon, ob Sie R am Terminal oder ein IDE wie RStudio verwenden. Dies wird unter Windows, Mac OS und den meisten Linux-Systemen unterstützt. Es kann jedoch zusätzliche Konfigurationen oder Abhängigkeiten wie z. B. X-Fenster erforderlich sein.

Verwenden Sie zum Aktivieren von X-Windows beim Fernzugriff die folgenden -XY-Flags:

ssh -XY [email protected]

Es gibt häufig ein Standard-Repo, das jedoch angegeben werden kann, wenn Sie Probleme haben, z. B. das Ausführen von Skripts oder Rmarkdown/knitr. Sie können den Parameter repo des Spiegels oder Repositorys für CRAN bei jeder Installation verwenden, mit:

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

Es wird empfohlen, den nächstgelegenen Spiegel zu Ihrem Standort zu verwenden, um Downloads schneller zu machen. Zum Beispiel:

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

Sie können auch die Option repos in Ihrer Sitzung festlegen, sodass Sie sie nur einmal pro interaktiven Sitzung (oder Skript) benötigen. Sie können prüfen, ob repos konfiguriert ist mit:

options(repos)

Wenn Sie "Error in options(repos) : object 'repos' not found" erhalten, können Sie die Repository-Option festlegen. Zum Beispiel:

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

Dann sollte es funktionieren, Pakete wie üblich zu installieren. Zum Beispiel:

install.packages("RMySQL")

Wie bereits erwähnt, können Sie das Repository in Ihrer .Rprofile-Datei konfigurieren und diese Funktion für alle Ihre Skripts verwenden. Es liegt an Ihnen, ob Sie diese "globalen" Optionen in Ihrem System oder "lokale" Optionen in Ihrer Sitzung oder in Ihrem Skript bevorzugen. Diese "lokalen" Optionen benötigen mehr Zeit für die Verwendung jeder Sitzung, bieten jedoch den Vorteil, dass andere Benutzer Ihre Skripts verwenden können, wenn sie nicht über Ihren .Rprofile verfügen.

1
Tom Kelly

Ich hatte unter macOS genau das, was Sie sagen: "Bitte auswählen" und dann nichts mehr.

Nachdem ich X-Quartz geöffnet (und aktualisiert habe; weiß nicht, ob das relevant ist) und dann R neu gestartet und es erneut versucht habe, habe ich nach einigen Sekunden eine X-Fenster-Liste von Spiegeln zur Auswahl. Das dritte Mal war es schneller.

0
Chris F Carroll

Sie können auch alle grafischen Menüs deaktivieren, indem Sie dies ausführen oder in Ihr Rprofile einfügen

options(menu.graphics = FALSE)
0
Extrapolator

In ~/.Rprofile einfügen

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