1. Bạn không thể đánh vần
Điều đầu tiên để kiểm tra là bạn đã đánh vần đúng tên của gói chưa? Tên gói là trường hợp nhạy cảm trong R.
2. Bạn đã không tìm trong kho lưu trữ đúng
Tiếp theo, bạn nên kiểm tra xem nếu các gói có sẵn. Kiểu
setRepositories()
Xem thêm ? SetRepositories .
Để xem kho lưu trữ nào R sẽ tìm trong gói của bạn và tùy chọn chọn một số kho bổ sung. Ít nhất, bạn thường sẽ muốn CRAN
được chọn, và CRAN (extras)
nếu bạn sử dụng Windows và các Bioc*
kho lưu trữ nếu bạn làm bất kỳ[gen / prote / chuyển hóa / phiên mã] omics phân tích sinh học.
Để thay đổi vĩnh viễn điều này, hãy thêm một dòng như setRepositories(ind = c(1:6, 8))
vào Rprofile.site
tệp của bạn .
3. Gói không nằm trong kho bạn đã chọn
Trả lại tất cả các gói có sẵn bằng cách sử dụng
ap <- available.packages()
Xem thêm Tên của các gói có sẵn của R , ? Available.packages .
Vì đây là một ma trận lớn, bạn có thể muốn sử dụng trình xem dữ liệu để kiểm tra nó. Ngoài ra, bạn có thể nhanh chóng kiểm tra xem gói có khả dụng hay không bằng cách kiểm tra tên hàng.
View(ap)
"foobarbaz" %in% rownames(ap)
Ngoài ra, có thể xem danh sách các gói có sẵn trong trình duyệt cho CRAN , CRAN (tính năng bổ sung) , Bioconductor , R-forge , RForge và github .
Một thông báo cảnh báo có thể khác mà bạn có thể nhận được khi tương tác với gương CRAN là:
Warning: unable to access index for repository
Điều này có thể cho thấy kho CRAN được chọn hiện không khả dụng. Bạn có thể chọn một máy nhân bản khác chooseCRANmirror()
và thử cài đặt lại.
Có một số lý do tại sao một gói có thể không có sẵn.
4. Bạn không muốn một gói
Có lẽ bạn không thực sự muốn một gói. Người ta thường nhầm lẫn về sự khác biệt giữa gói và thư viện , hoặc gói và bộ dữ liệu.
Gói là một bộ sưu tập tiêu chuẩn của tài liệu mở rộng R, ví dụ như cung cấp mã, dữ liệu hoặc tài liệu. Thư viện là một nơi (thư mục) nơi R biết để tìm các gói mà nó có thể sử dụng
Để xem bộ dữ liệu có sẵn, gõ
data()
5. R hoặc Bioconductor đã hết hạn
Nó có thể có sự phụ thuộc vào phiên bản R mới hơn (hoặc một trong các gói mà nó nhập / phụ thuộc vào). Nhìn vào
ap["foobarbaz", "Depends"]
và xem xét cập nhật cài đặt R của bạn lên phiên bản hiện tại. Trên Windows, điều này được thực hiện dễ dàng nhất thông qua installr
gói.
library(installr)
updateR()
(Tất nhiên, bạn có thể cần phải install.packages("installr")
đầu tiên.)
Tương đương với các gói Bioconductor, bạn có thể cần cập nhật cài đặt Bioconductor của mình.
source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")
6. Gói đã hết hạn
Nó có thể đã được lưu trữ (nếu nó không còn được duy trì và không còn vượt qua R CMD check
các bài kiểm tra).
Trong trường hợp này, bạn có thể tải phiên bản cũ của gói bằng cách sử dụng install_version()
library(remotes)
install_version("foobarbaz", "0.1.2")
Một cách khác là cài đặt từ gương CRAN github.
library(remotes)
install_github("cran/foobarbaz")
7. Không có nhị phân Windows / OS X / Linux
Nó có thể không có tệp nhị phân Windows do yêu cầu phần mềm bổ sung mà CRAN không có. Ngoài ra, một số gói chỉ có sẵn thông qua các nguồn cho một số hoặc tất cả các nền tảng. Trong trường hợp này, có thể có một phiên bản trong CRAN (extras)
kho lưu trữ (xem setRepositories
bên trên).
Nếu gói yêu cầu biên dịch mã (ví dụ: C, C ++, FORTRAN) thì trên Windows cài đặt Rtools hoặc trên OS X cài đặt các công cụ dành cho nhà phát triển đi kèm XCode và cài đặt phiên bản nguồn của gói thông qua:
install.packages("foobarbaz", type = "source")
# Or equivalently, for Bioconductor packages:
source("http://bioconductor.org/biocLite.R")
biocLite("foobarbaz", type = "source")
Trên CRAN, bạn có thể biết liệu bạn có cần các công cụ đặc biệt để xây dựng gói từ nguồn hay không bằng cách nhìn vào NeedsCompilation
cờ trong mô tả.
8. Gói này nằm trên github / Bitbucket / Gitorious
Nó có thể có một kho lưu trữ trên Github / Bitbucket / Gitorious. Các gói này yêu cầu remotes
gói để cài đặt.
library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
(Như với installr
, bạn có thể cần phải install.packages("remotes")
đầu tiên.)
9. Không có phiên bản nguồn của gói
Mặc dù phiên bản nhị phân của gói của bạn có sẵn, nhưng phiên bản nguồn thì không. Bạn có thể tắt kiểm tra này bằng cách cài đặt
options(install.packages.check.source = "no")
như được mô tả trong câu trả lời SO này của imanuelc và phần Chi tiết của ?install.packages
.
10. Gói nằm trong kho không chuẩn
Gói của bạn nằm trong một kho lưu trữ không chuẩn (ví dụ Rbbg
). Giả sử rằng nó tuân thủ hợp lý các tiêu chuẩn CRAN, bạn vẫn có thể tải xuống bằng cách sử dụng install.packages
; bạn chỉ cần xác định URL kho lưu trữ.
install.packages("Rbbg", repos = "http://r.findata.org")
RHIPE
mặt khác không có trong kho lưu trữ giống CRAN và có hướng dẫn cài đặt riêng .