Có, hoặc một bản sao của CRAN hoặc repo với các gói địa phương dễ cài đặt. Có lẽ bạn muốn điều này cho Windows để làm điều này:
- Tạo một thư mục cấp cao nhất trên máy chủ web của bạn, nói
R/
- Tạo hệ thống cấp bậc bình thường trong đó:
R/bin/windows/contrib/2.11
. Nếu bạn cần hỗ trợ các bản phát hành khác (trước đó), chỉ cần tạo các thư mục 2.10
, 2.9
, ... bên cạnh thư mục 2.11
.
Đặt gói bạn cần vào thư mục (ví dụ, 2.11
), sau đó thay đổi vào thư mục đó và chạy lệnh sau để tạo PACKAGES
và PACKAGES.gz
file cho kho:
tools::write_PACKAGES(".", type="win.binary")
Đó là tất cả để có nó - bây giờ bạn có thể truy cập vào kho lưu trữ bằng cách trỏ đến địa chỉ được đưa ra một lệnh như
update.packages(repos="http://my.local.server/R", ask=FALSE)
mà tôi thậm chí còn làm trong R/zzz.R
cho các gói địa phương để chúng tự cập nhật.
Sửa một số lăm + năm sau: Và gói drat nay tự động hóa rất nhiều này, và tỏa sáng đặc biệt là nếu bạn cũng sử dụng GitHub để phục vụ kho qua http/https (nhưng rất hữu ích cho lưu trữ khác hoặc địa phương quá) .
Nguồn
2010-05-25 14:46:56
Tự động cập nhật âm thanh rất tiện lợi, nhưng tôi không hiểu vị trí đặt lệnh cập nhật. Tôi đã chơi xung quanh với 'zzz.R' và' .onLoad' nhưng không thể làm cho nó vượt qua kiểm tra 'R CMD ...'. Theo cách có vẻ hơi lạ để cập nhật những gì bạn hiện đang tải. – Backlin
Lệnh cập nhật có thể được nhập vào R bởi bất kỳ ai có thể truy cập vào kho lưu trữ. –
Ngoài ý kiến của Dirk, nếu bạn yêu cầu người dùng gói chỉnh sửa các tệp 'Rprofile.site' của họ (được chạy lúc khởi động mỗi phiên R) để bao gồm một số thứ như' tùy chọn (repos = c (getOption ("repos"), MyCompanyRepo = "http: //my.local.server/R")) ', sau đó người dùng của bạn có thể làm những việc như' install.packages ("mypackage") 'mà không cần trỏ đến một đường dẫn. –