R'de bir CRAN aynası nasıl seçilir


177

Aşağıdakileri yaparak R istemi üzerinden bir paket yüklemeye çalışıyorum:

install.packages('RMySQL')

Ancak çıktı aşağıdaki gibidir:

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

Ve başka hiçbir şey! Bu çok temel soruna bir çözüm bulamıyorum. Bir CRAN aynası seçmek için ne yazmam gerekir?

DÜZENLE:

İşletim Sistemi: Mac-OS X 10.6.8 R Sürüm: 2.15.0


1
aynaya karşılık gelen 1 - 100 arasındaki sayıların bir listesini
bulmalı

1
Ayrıca hangi işletim sistemini kullandığınızı ve R
pyCthon

1
Konsolda bir pencere seçimlerle açılmalı veya bir seçim listesi görünmelidir. Seçeneklerle ayrı bir pencere kontrol ettiniz mi? Nasıl koşuyorsun R?
sayhey69

@pyCthon 84 yazdım, ancak hiçbir şey döndürülmedi.
Jim Johnson

@ sayhey69 Terminalimden istemi çağırarak R'yi çalıştırıyorum. Ben sadece r yazıyorum ve tercüman geliyor. Asla seçimler için ayrı bir pencere haşhaş vardı.
Jim Johnson

Yanıtlar:


277

Havuz listesi içeren bir pencere veya bazı seçeneklerin bulunduğu bir metin menüsü edinmelisiniz. Ancak bu görünmüyorsa, reposparametre kullanarak paketlerin nereden indirileceğini her zaman yansıtabilirsiniz . Bunu yaptığınızda, R artık depo hakkında size sormayacak. Misal:

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

Burada R için aynaların bir listesi var.


1
Benim için depo pop-up'ı geldi, bir aynayı tıkladım ve sonra hiçbir şey olmadı; Bu arada, bu iyi çalıştı. Programatik çözüm> her zamanki gibi interaktif çözüm! Teşekkürler!
MichaelChirico

Ve işte seçilecek bazı aynalar, kibar olmak için: cran.r-project.org/mirrors.html
ocaklar

Bunu MRO'ya yeni bir paket yüklemek için yararlı bir çözüm buldum. Bir paketin yeni bir paketini kurmaya çalışırken bir gün geçirdim, ancak checkpointişlev, Anakonda'nın R, v3.4.3 dağıtımı kullanılarak, anlık görüntü 2017-09-01'e ayarlanmış olarak açıklandığı gibi çalışmadı.
Steven C. Howell

93

İşte yaptığım şey, temelde doğrudan example(Startup)sayfadan:

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

içinde ~/.Rprofile.

Düzenleme: Şimdi 2018 olduğu için, son birkaç yıldır URL'nin "https://cloud.r-project.org"a) https erişimini ve b) bir "her zaman size yakın" CDN'yi yansıttığı için tercih edildiğini ekleyebiliriz .


3
Bunun kabul edilen cevap olması gerektiğini düşünüyorum. Başsız sistemler (sunucular, IoT, vb.) Dahil olmak üzere her durumda Sadece Çalışır (tm). Teşekkürler Dirk.
Jesse Adelman

4
Ve birkaç yıl sonra, herkese ağa yakın olması garanti edilen uygun bir CDN ile httpsşimdi https://cloud.r-project.orgURL'yi kullanıyoruz.
Dirk Eddelbuettel

Umarım umursamıyorsun Dirk, ama önerinizi yansıtmak için gönderinizi düzenledim.
Jesse Adelman

Dört saat önce kendim yapabilseydim. Tarihsel kaydın konuşmasını tercih ediyorum. Ama vandallar geleceğinden, bir postscriptum koydum.
Dirk Eddelbuettel

61

Ben hayranıyım:

chooseCRANmirror()

Çıktıdaki aynaların listesini yazdırır (terminalden çalıştırdığınız için bir açılır pencere endişelenmenize gerek yoktur) ve sonra istediğiniz numarayı girersiniz.


1
Hata chooseCRANmirror(81)! Bir sayı girmeniz istenir. Hepsi konsolda.
Jared

1
Not: Bu, /etc/R/Rprofile.site veya ~ / .Rprofile dosyalarını güncellemez. (Yani, ortadan kaybolan alternatif bir eski ayna seçmek için iyi değil. Yukarıdaki dosyaları doğrudan düzenlemek daha iyi.)
Darren Cook

@DarrenCook Haklı olabilirsiniz ama birçok insan bu dosyalar tarafından korkutulabilir. Öyle olduğumu biliyorum.
Jared

4
chooseCRANmirror(ind=81)Jared muhtemelen bunu kastediyordu. Komut istemini atlayacaktır.
Casey Watson

1
Ayarlayabilir miyim options(menu.graphics = FALSE)içinde .Rprofileçok
Andy Barbour

27

Dirk tarafından önerilen ~ / .Rprofile çözümünü kullanıyorum, ancak şunu belirtmek istedim

chooseCRANmirror(graphics=FALSE)

bunun yerine yapılacak mantıklı bir şey gibi görünüyor

chooseCRANmirror(81)

çalışabilir, ancak sihirli sayı 81'i içerir (veya belki de turizmi 81 = İngiltere'ye (Bristol) :-) teşvik etmek için ince bir yoldur)


13

OS X artık X11 içermediğinden, havuz seçim ekranı sisteminizde (OS X) gösterilemez. R, istemi X11 aracılığıyla göstermeye çalışır. X11'i http://xquartz.macosforge.org/landing/ adresinden yükleyin . Ardından install komutunu çalıştırın. Repo seçim istemi gösterilir.


1
Bu kabul edilen cevap olmalı. OS X'te X11 desteği ile ilgili Apple destek makalesi support.apple.com/kb/HT5293?viewlocale=en_US&locale=en_US
Jere Käpyaho

Sorun, muhtemelen X11 nedeniyle pencerenin gösterilmemesidir, ancak chooseCRANmirror()/ reposparametresi çok daha basit çözümlerdir.
Ben Mosher

4

Yansımayı etkileşimli olmayan bir şekilde ayarlamanız gerekiyorsa (örneğin bir dağıtım komut dosyasında rbundler yüklemesi yapmak) bu şekilde yapabilirsiniz:

İlk önce manuel olarak çalıştırın:

chooseCRANmirror()

Sizin için en uygun ayna numarasını seçin ve hatırlayın. Ardından seçimi otomatikleştirmek için:

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

87, kullanmak istediğiniz aynanın sayısıdır. Bu snippet, rbundle'ı sizin için de kurar. İsterseniz bunu atlayabilirsiniz.


4

kullandım

chooseCRANmirror(81)

ülkeyi seçmenizi ister. Ardından, burada belirtilen ülke ayna kodunu yazarak bir seçim yapabilirsiniz.


2

İster terminalde R, ister RStudio gibi bir IDE kullansanız da, seçim yapabilmeniz için bir açılır menü açılmalıdır (ya da seçim yapabileceğiniz bir grup numara alırsınız). Bu, Windows, Mac OS ve çoğu Linux sisteminde desteklenir. Ancak, ek yapılandırma veya X pencereleri gibi bağımlılıklar gerektirebilir.

Uzaktan erişim kullanırken X pencerelerini etkinleştirmek için aşağıdaki -XYbayrakları kullanın :

ssh -XY username@server.domain

Genellikle varsayılan bir repo vardır, ancak komut dosyalarını çalıştırmak veya Rmarkdown / knitr gibi herhangi bir sorununuz varsa bu belirtilebilir. Her repokurulumda opset'i CRAN için aynayı veya deposu kullanabilirsiniz :

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

Daha hızlı indirme işlemleri için bulunduğunuz yere en yakın aynanın kullanılması önerilir. Örneğin:

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

Oturumunuzdaki reposseçeneği de ayarlayabilirsiniz, böylece etkileşimli oturum (veya komut dosyası) başına yalnızca bir kez gerekir. Şununla reposyapılandırılıp yapılandırılmadığını kontrol edebilirsiniz :

options(repos)

Eğer alırsanız "Error in options(repos) : object 'repos' not found", depo seçeneğini ayarlayabilirsiniz. Örneğin:

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

Sonra her zamanki gibi paketleri yüklemek için çalışmalıdır. Örneğin:

install.packages("RMySQL")

Başkaları tarafından belirtildiği gibi, .Rprofiledosyanızdaki havuzu yapılandırabilir ve bu komut dosyasının tüm komut dosyalarınızda çalışmasını sağlayabilirsiniz. Sisteminizdeki bu "global" seçenekleri veya oturumunuzdaki veya komut dosyanızdaki "yerel" seçenekleri tercih edip etmediğiniz size bağlıdır. Bu "yerel" seçeneklerin her oturumu kullanması daha fazla zaman alır, ancak başkalarının sizde yoksa komut dosyalarınızı kullanabilmesini sağlama avantajına sahiptir .Rprofile.


0

MacOS'ta söylediğiniz tam şeye sahiptim: 'Lütfen seçin' istemi ve daha sonra başka bir şey yok.

X-Quartz'ı açtıktan (ve güncelledik; ilgili olup olmadığını bilmiyorum) ve sonra R'yi yeniden başlattıktan ve tekrar denedikten sonra, birkaç saniye sonra seçim yapabileceğiniz bir X penceresi ayna listesi aldım. Üçüncü kez daha hızlıydı.


0

Bunu çalıştırarak veya Rprofilinize yerleştirerek tüm grafik menülerini de devre dışı bırakabilirsiniz.

options(menu.graphics = FALSE)

0

İçine ekle ~/.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
})
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.