2013-02-11 27 views
16

Tôi hiện đang cố gắng chạy một số mã R trên một cụm máy tính nhưng không thể chạy chức năng install.packages do một số cài đặt tường lửa lạ trên cụm của tôi. Vì tôi chỉ sử dụng một vài gói trong mã R của mình, tôi đã hy vọng tránh sử dụng chức năng install.packages bằng cách tải xuống và cài đặt các gói theo cách thủ công.Tải xuống và cài đặt thủ công các gói trong R

Lưu ý: Tôi biết rằng có một cách để tránh sự cố này bằng cách sử dụng proxy HTTP như được mô tả trong Câu hỏi thường gặp R. Thật không may những người phụ trách cụm của tôi không phải là hữu ích trong việc thiết lập này vì vậy tôi buộc phải xem xét phương pháp thay thế này. Lý tưởng nhất, tôi muốn tải xuống các tệp gói từ CRAN đến máy tính của tôi, sau đó tải các tệp này lên cụm và cài đặt chúng bằng các lệnh thích hợp trong R. Ngoài ra, tôi cũng muốn đảm bảo rằng các gói được cài đặt vào vị trí tôi chọn vì tôi không có quyền "ghi" trong thư mục R mặc định (Tôi tin rằng tôi có thể thực hiện điều này trong R bằng cách sử dụng chức năng .libPaths)

Cuối cùng, các máy tính mà tôi đang làm việc với trên cụm là Unix x86_64.

+1

Chắc chắn có thể thực hiện việc này và chức năng' install.packages' sẽ chấp nhận một đối số kho NULL. –

+0

Tuyệt vời! Tôi không nhận ra điều này chút nào. Chỉ cần xác nhận đoạn mã sau sẽ hoạt động, đúng không? 'install.packages (pkgs = MyListofTARGZFiles, repos = NULL, lib = MyLibraryDirectory)' –

+0

Không chắc chắn chính xác rằng hình thức sẽ làm việc, giả sử nó thực sự là một danh sách. Đối số đầu tiên cần phải là một vectơ ký tự. –

Trả lời

22

Bạn có thể cài đặt gói bằng tay bằng cách sử dụng lệnh sau

install.packages('package.zip', lib='destination_directory',repos = NULL)

Xem sự giúp đỡ của ?install.packages, để mô tả thêm

+0

Cảm ơn! Chỉ cần chắc chắn: vì tôi đang làm việc trên các máy tính UNIX, nên các gói có ở định dạng tar.gz không? –

+1

Nếu bạn có nguồn gói '.tar.gz' nó cũng hoạt động tốt như – iTech

+0

xem câu trả lời này: http://stackoverflow.com/a/30533227/3494126 – Ufos

0

install.packages ("libname", lib = "file:// F:/test ")

+0

Câu trả lời tốt hơn cho câu hỏi này đã tồn tại. –

+0

Tôi đã thêm nó vì bản thân tôi gặp sự cố với định dạng thư viện. Nghĩ có lẽ nó giúp người khác! – Angel

Các vấn đề liên quan