2012-05-03 22 views
7

Có thể cài đặt một gói trong R một cách mạnh mẽ không?Force install.packages()

> install.packages("gsubfn") 
Installing package(s) into ‘/home/sebastian/R/x86_64-unknown-linux-gnu-library/2.14’ 
(as ‘lib’ is unspecified) 
--- Please select a CRAN mirror for use in this session --- 
Loading Tcl/Tk interface ... done 
Warning message: 
In getDependencies(pkgs, dependencies, available, lib) : 
    package ‘gsubfn’ is not available (for R version 2.14.2) 

Trong trường hợp này gói yêu cầu R> = 2.15 và tôi chỉ có R 2.14.2. Tự hỏi liệu tôi có thể cài đặt lực không.

+7

Tải xuống và giải nén nguồn, thay đổi trường "Phụ thuộc" trong tệp "DESCRIPTION", sau đó xây dựng/CÀI ĐẶT gói ... chỉ cần không quay lại và hỏi lý do tại sao thứ gì đó trong gói không hoạt động. –

+2

bạn cũng có thể truy cập [lưu trữ] (http://cran.r-project.org/src/contrib/Archive/gsubfn/) và có khả năng tìm thấy một số khả năng tương thích ngược ... nhưng tôi chủ yếu lắng nghe lời cảnh báo của Joshua! – Justin

+3

Bạn có thể cài đặt mạnh mẽ 2.15 – Dason

Trả lời

4

Tải xuống gói từ nguồn. Giải nén nó và di chuyển thư mục vào thư viện (~/R/2.14/Library). Đi tới IDE của bạn và thực hiện library(<package_name>)

Điều này có thể có hoặc không hoạt động đúng và bạn có nhiều khả năng nhận được thông báo cảnh báo tương tự nói rằng package <name> was built under R 2.14. Phớt lờ nó đi. Hầu hết các chức năng sẽ hoạt động. Tuy nhiên, được cảnh báo, có thể có một số chức năng khiến đầu ra vui nhộn hoặc không có gì cả, vì chúng có thể đang sử dụng một số tính năng không có trong R 2.14.

Tuy nhiên, bạn có thể cập nhật phiên bản R của mình. Đó, IMO, là cách tốt nhất để đi.

+0

Di chuyển phiên bản đã giải nén của nguồn gói trực tiếp vào thư viện không phải là cách chính xác để cài đặt gói. Đó là những gì 'R CMD INSTALL' là dành cho. Tuy nhiên, như các bình luận khác đã lưu ý, các hạn chế trong tệp DESCRIPTION sẽ phải được thay đổi và có khả năng một cái gì đó ở đâu đó sẽ bị hỏng. –

+1

Đồng ý với bạn về điều đó. Cách tôi đề nghị là khoảng cách dừng lại, hoặc, như tôi sẽ đặt nó, 'Jugaad'. Hầu hết def không đúng cách để đi về nó. Tuy nhiên, nếu OP chỉ cần một số chức năng, có một cơ hội bên ngoài mà anh ta nhận được những gì anh ta cần. – jackStinger

+0

Một số ngữ cảnh trên Jugaad: http://en.wikipedia.org/wiki/Jugaad – jackStinger