Đặt gương CRAN mặc định vĩnh viễn trong R


102

Làm cách nào tôi có thể đặt một gương CRAN cụ thể vĩnh viễn trong R?

Tôi muốn đặt nó vĩnh viễn trong máy tính xách tay của mình để khi tôi làm vậy install.packages(), nó sẽ không hỏi lại tôi nên chọn gương nào.


1
Xem stackoverflow.com/questions/1189759/… để biết các ví dụ .Rprofile.
jthetzel

4
bạn có thể muốn chỉnh sửa Rprofiletệp chung. Trên nền tảng * NIX, nó nằm ở /usr/lib/R/library/base/R/Rprofile. Chỉ cần cẩn thận ... và lưu ý rằng .Rprofilecài đặt cục bộ được ưu tiên hơn.
aL3xa

1
Theo dõi nhận xét của @ aL3xa, hãy xem ?Startupcác chi tiết thực sự đẫm máu về vị trí của các tệp .Rprofile có thể được đặt ở đâu và được ưu tiên hơn.
Josh O'Brien

Và hãy lưu ý các đối tượng .First.Last.
aL3xa

Câu trả lời:


118

Bạn có thể đặt repos trong .Rprofile của mình để khôi phục lựa chọn của bạn mỗi khi bạn khởi động R

Chỉnh sửa: chính xác hơn:

Thêm vào

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

vào tệp .Rprofile của bạn


Ngoài ra, bạn có thể đặt gương trên toàn bộ trang web của mình Rprofile.site. Vị trí của tệp được cung cấp bởi ?Startup:

Đường dẫn của tệp này được lấy từ giá trị của R_PROFILE biến môi trường (sau khi mở rộng dấu ngã). Nếu biến này không được đặt, thì giá trị mặc định là R_HOME/etc/Rprofile.site, được sử dụng nếu nó tồn tại (nó không có trong cài đặt 'mới xuất xưởng').

Vì vậy, hãy làm Sys.getenv("R_PROFILE")cho tùy chọn đầu tiên hoặc Sys.getenv("R_HOME")hoặc R.home()cho tùy chọn thứ hai. Trên macOS, vị trí của thứ hai là /Library/Frameworks/R.framework/Resources/etc/.

Tệp có thể không tồn tại hoặc bạn có thể thấy những dòng sau được nhận xét:

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

Vì vậy, hãy xóa các dấu nhận xét và thay đổi " http: //my.local.cran " thành trang web chính xác, ví dụ:

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

1
Tôi đã thêm thông tin bổ sung, vì nó không đáng để trả lời thêm và hơi quá nhiều cho một nhận xét.
Joris Meys

2
Tôi không nghĩ rằng cuộc gọi đến structurelà để làm gì cả. Thông thường, đó chỉ là một cách thuận tiện để thêm thuộc tính vào một đối tượng.
Richie Cotton

@rinni: cảm ơn, tôi đã truy cập danh sách các URL được tìm thấy URL mà tôi ở gần nhất như bạn đã mô tả trong .Rprofiletệp.

3
Dường như không có RProfile.sitetệp nào trong R 3.3.1 của tôi trên Arch Linux x86_64. Có một tệp được đặt tên RProfilekhông chứa các dòng bình luận được đề cập trong câu trả lời.
SACHIN GARG,

5
trong đó "GƯƠNG YÊU THÍCH CỦA BẠN" là URL, không phải tên.
pdb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.