2013-02-25 15 views
11

Thông thường tôi cài đặt các gói sử dụng:Move r gói vào máy tính mới mà không có internet

install.packages("foo") 

và Repo qua internet. Nhưng bây giờ tôi có một máy mới, nơi tôi muốn sao chép các gói từ bản cài đặt hiện tại của mình mà không phải kéo tất cả mọi thứ ra khỏi internet nữa. (Tôi có rất nhiều gói và truy cập internet chậm)

Cả hai máy đều là Windows và chạy cùng phiên bản R. (2.13.1)

Có cách nào để thực hiện việc này không? Gần nhất tôi có thể nhận được là tôi biết tôi có thể cài đặt từ các tệp zip cục bộ bằng cách sử dụng:

install.packages("pathtozip", repos = NULL) 

Nhưng R có lưu trữ tất cả Zips ở đâu đó không? Tôi đã tìm thấy một vài địa điểm như:

C:\Documents and Settings\foouser\Local Settings\Temp\RtmpjNKkyp\downloaded_packages 

Nhưng không phải tất cả.

Bất kỳ mẹo nào?

+1

'copydir.bat' và' movedir.bat' trong batchfiles sẽ sao chép và di chuyển thư viện tương ứng. Xem http://batchfiles.googlecode.com. Xem nhận xét ở đầu mỗi tệp này. –

+2

Đây là một câu hỏi mà tôi dường như không thể tìm thấy ngay bây giờ, nhưng tôi nhớ @DWin đã đưa ra một câu trả lời rất chắc chắn cho nó. –

+0

Cảm ơn @ G.Gothendieck và RSaporta. Sẽ thử. –

Trả lời

11

Chức năng .libPaths sẽ cung cấp cho bạn vectơ của tất cả các thư viện trên máy của bạn. Chạy nó trên máy cũ của bạn để tìm tất cả chúng. Bạn chỉ có thể sao chép tất cả các tệp này vào thư viện trên máy tính mới của mình (chạy .libPaths trên máy tính đó để tìm hiểu vị trí). Ngoài ra, nếu bạn muốn thiết lập một kho lưu trữ thực (nghĩa là một gương CRAN) trên máy tính hoặc trên ổ đĩa mạng bạn có thể cập nhật, bạn có thể đặt các gói nhị phân hoặc nguồn vào một thư mục và chạy tools::write_PACKAGES trên thư mục đó . Bạn có thể chạy chúng install.packages bằng cách sử dụng đối số contriburl và trỏ nó vào thư mục lưu trữ của bạn.

+0

Sau khi vừa trải qua quá trình này, vấn đề bạn có thể gặp phải với phương pháp thứ 2 (gương CRAN cục bộ, sử dụng 'tools :: write_PACKAGES', v.v.), là một số thư viện có thể bị thiếu (ví dụ 'stringi' sử dụng thư viện' ICU4C', được cài đặt tự động khi được kết nối với internet). Nhận xét này có ý nghĩa như một người đứng đầu cho những người tham gia vào con đường này. – steveb

+0

Tôi cũng gặp sự cố đó một lần. Bạn có thể tải xuống riêng hoặc cài đặt nó trên máy.Trong cả hai trường hợp, [hướng dẫn cài đặt] (https://github.com/gagolews/stringi/blob/master/INSTALL) từ trang dự án đều hữu ích. –

+0

Tôi đã kết thúc bằng cách sử dụng các hướng dẫn cài đặt để xây dựng stringi bằng GitHub. Điều này làm việc tốt và xử lý sự phụ thuộc ICU4C. – steveb

8

Tất cả các gói mà bạn đã cài đặt được lưu trữ trong thư mục có tên win-library \ r-version, ví dụ: C: \ Users \ Ehsan \ Documents \ R \ win-library \ 2.15 vậy, đủ để sao chép tất cả các thư mục bên trong 2,15 vào cùng một thư mục trong máy mới của bạn. vì bạn có cùng phiên bản R bạn không cần cập nhật chúng bằng update.packages().

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