Trường hợp R cửa hàng gói?


207

Các install.packages()chức năng trong R là tiện ích giải nén tự động mà được và cài đặt các gói trong R.

  1. Làm cách nào để tìm ra thư mục R đã chọn để lưu trữ các gói?

  2. Làm cách nào để thay đổi thư mục trong đó R lưu trữ và truy cập các gói?

Câu trả lời:


248

Lệnh install.packages xem qua biến .libPaths. Đây là những gì tôi mặc định trên OSX:

> .libPaths()
[1] "/Library/Frameworks/R.framework/Resources/library"

Tôi không cài đặt các gói ở đó theo mặc định, tôi thích cài đặt chúng trong thư mục nhà của tôi. Trong .Rprofile của tôi, tôi có dòng này:

.libPaths( "/Users/tex/lib/R" )

Điều này thêm thư mục "/ Users / tex / lib / R" vào trước biến .libPaths.


đây là những gì tôi muốn làm, nhưng làm cách nào để truy cập và .Rprofile? Dấu nhắc không nhận ra nó là một đối tượng hoặc một chức năng
Milktrader

7
Nó là một tập tin . Một lần nữa, hãy đọc hướng dẫn tốt và / hoặc trợ giúp (Khởi động).
Dirk Eddelbuettel

44

Điều này được ghi lại trong hướng dẫn 'Cài đặt và Quản trị' đi kèm với cài đặt của bạn.

Trên hộp Linux của tôi:

R> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"      
[3] "/usr/lib/R/library"           
R> 

có nghĩa là đường dẫn mặc định là đường dẫn đầu tiên. Bạn có thể ghi đè thông qua một đối số cho cả hai install.packages()(từ bên trong R) hoặc R CMD INSTALL(bên ngoài R).

Bạn cũng có thể ghi đè bằng cách đặt biến R_LIBS_USER.


Tôi đã có một máy Windows Vista, nhưng giả sử có cùng một quy trình, bạn có chỉ định thư mục trong danh sách đối số install.packages () cùng với tên gói không?
Milktrader

3
Bạn đã khám phá 'help (install.packages)' chưa? Ngoài ra, hãy xem 'trợ giúp (Khởi động)' theo nhận xét cuối cùng của tôi. Và đọc những hướng dẫn. Cuối cùng, trên * doze, tôi có xu hướng chỉ đặt R_LIBS = "C: / opt / R / library" trong một tệp .Renvir. Tôi biết bạn cũng sẽ hỏi về điều đó - vì vậy hãy đọc trợ giúp (Khởi động). Đồng ý? ;-)
Dirk Eddelbuettel

1
Tôi đã có hàng tá hướng dẫn sử dụng R trên Kindle (bao gồm hơn 3.000 trang một) và không biết về tệp trợ giúp Khởi động. Tôi đã đọc hướng dẫn và đi vào ngõ cụt. Hãy xem đó là một câu trả lời đơn giản. Tôi có bị mất điểm cho các câu hỏi RTFM <- Tôi không có nhiều thứ để mất. Cảm ơn một lần nữa Dirk. Hẹn gặp bạn tại R / Finance vào tuần tới. Tăng cường các kỹ năng R một cách tốt nhất có thể để tôi không bị bẩn trong các bài thuyết trình.
Milktrader

1
Trang 3000+ là một đối chiếu của tất cả các trang trợ giúp - ít hữu ích nhất. Lời nói trên 'Cài đặt và Quản trị viên' sẽ rất hữu ích cho những gì bạn đang ở đây.
Dirk Eddelbuettel

Có cách nào tương đương để tìm những thứ này từ dòng lệnh bash không? tức là một biến môi trường chỉ định nơi các thư viện R được cài đặt nếu $R_LIBS$R_LIBS_USERkhông được đặt? (Tôi muốn có thể thực thi tập lệnh R trong inst/thư mục của gói đã cài đặt) trên bất kỳ hệ thống Unix nào.
David LeBauer

12

Cảm ơn sự chỉ đạo từ hai người trả lời trên. Đề xuất của James Thompson hoạt động tốt nhất cho người dùng Windows.

  1. Đi đến nơi chương trình R của bạn được cài đặt. Điều này được gọi là R_Hometrong các tài liệu. Khi bạn tìm thấy nó, hãy đi đến thư mục con / etc.

    C:\R\R-2.10.1\etc
  2. Chọn tệp trong thư mục này có tên Rprofile.site. Tôi mở nó bằng VIM. Bạn sẽ thấy đây là một tập tin cơ bản với ít hơn 20 dòng mã. Tôi đã chèn đoạn mã bên trong:

    # my custom library path
    .libPaths("C:/R/library")

    (Nhận xét được thêm vào để theo dõi những gì tôi đã làm với tệp.)

  3. Trong R, gõ .libPaths()hàm mang lại mục tiêu đầu tiên tạiC:/R/Library

LƯU Ý: có thể có nhiều hơn một cách để đạt được điều này, nhưng một số phương pháp khác tôi đã thử không hoạt động vì một số lý do.


1
Tôi sao chép dòng đã dán .libPaths=("C:/R/library")vào tệp Rprofile.site của tôi . Tôi khởi chạy R 2.13.1 64 bit và gặp lỗi này: Lỗi: không thể thay đổi giá trị của ràng buộc bị khóa cho '.libPaths' Tôi đang sử dụng Windows 7.
Fred

1
Xem câu trả lời của Dave : nó phải là .libPaths("...")(một cuộc gọi và không phải là một nhiệm vụ).
CodeFox

0

Bạn không muốn '='

Sử dụng .libPaths("C:/R/library")trong Rprofiletập tin .site của bạn

Và đảm bảo bạn có biểu tượng chính xác "(Shift-2)

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.