Đôi khi tôi quen với thiết kế của một gói R cụ thể và muốn tìm kiếm CRAN cho tất cả các gói của tác giả đó (hãy sử dụng Hadley Wickham chẳng hạn). Làm thế nào tôi có thể làm một tìm kiếm như vậy (tôi muốn sử dụng R nhưng điều này không phải là chế độ tìm kiếm).Tìm kiếm một gói bởi một tác giả cụ thể
Trả lời
Crantastic can search by author. Bạn có thể làm nhiều hơn một chút với crantastic nhưng chức năng bạn đang tìm kiếm đã được cung cấp ở đó.
Điều đó có tác dụng nhưng tôi dường như không thể tìm kiếm nhưng phải tìm kiếm trong danh sách các gói cho đến khi tôi tìm thấy gói của tác giả tôi muốn và sau đó tôi có thể nhấp vào tên của họ. Nếu tôi sử dụng nó sai cho tôi biết. Ví dụ: nếu tôi tìm kiếm [dbConnect] (http://crantastic.org/packages/dbConnect) Tôi có thể tìm thấy tác giả đó và nhấp vào tên của anh ấy nhưng tôi dường như không thể nhập "Kurkiewicz" (tác giả của dbConnect) vào thanh tìm kiếm và trả lại gói của mình. Nếu đây là cách tiếp cận tốt nhất nó sẽ làm nhưng có vẻ như có một cách tốt hơn hoặc có thể tôi đang làm sai. –
Tôi đoán tôi đã không thực sự thử thanh tìm kiếm mà không xuất hiện để tìm kiếm thông qua các nhà bảo trì gói. Trên trang đó tôi chỉ làm một Ctrl-f đơn giản và tìm kiếm trang theo cách đó. – Dason
không biết về Ctrl + f Điều đó hoạt động. Phản ứng đầu tiên và có lẽ là nhanh nhất cho đến nay được kiểm tra. –
Phỏng theo available.packages by publication date:
## restrict to first 100 packages (by alphabetical order)
pkgs <- unname(available.packages()[, 1])[1:100]
desc_urls <- paste(options("repos")$repos,"/web/packages/", pkgs,
"/DESCRIPTION", sep = "")
desc <- lapply(desc_urls, function(x) read.dcf(url(x)))
authors <- sapply(desc, function(x) x[, "Author"])
Kể từ khi tôi là một sự tự khen (và Hadley Wickham không có gói trong 100 đầu tiên):
pkgs[grep("Bolker",authors)]
# [1] "ape"
Vấn đề chính với giải pháp này là làm nó cho thực tế (thay vì chỉ cho 100 gói đầu tiên) có nghĩa là nhấn CRAN 3000+ lần cho thông tin gói ...
chỉnh sửa: một giải pháp tốt hơn, dựa trên giải pháp Jeroen oom trong cùng một vị trí:
recent.packages.rds <- function(){
mytemp <- tempfile()
download.file(paste0(options("repos")$repos,"/web/packages/packages.rds"),
mytemp)
mydata <- as.data.frame(readRDS(mytemp), row.names=NA)
mydata$Published <- as.Date(mydata[["Published"]])
mydata
}
mydata <- recent.packages.rds()
unname(as.character(mydata$Package[grep("Wickham",mydata$Author)]))
# [1] "classifly" "clusterfly" "devtools" "evaluate" "fda"
# [6] "geozoo" "ggmap" "ggplot2" "helpr" "hints"
# [11] "HistData" "hof" "itertools" "lubridate" "meifly"
# [16] "memoise" "munsell" "mutatr" "normwhn.test" "plotrix"
# [21] "plumbr" "plyr" "productplots" "profr" "Rd2roxygen"
# [26] "reshape" "reshape2" "rggobi" "roxygen" "roxygen2"
# [31] "scales" "sinartra" "stringr" "testthat" "tourr"
# [36] "tourrGui"
Mã nên đi đến gói 'vận may '. Q: bạn sẽ nhận được gì nếu bạn grep Bolker trong các tác giả gói R? A: Một con khỉ. –
Cảm ơn Ben. Chắc chắn là một cách tiếp cận nhưng như bạn chỉ ra mất một khoảng thời gian đáng kể. Cách tiếp cận của Dason có khả năng hiệu quả nhất.Cảm ơn các giải pháp R :) –
kiểm tra phiên bản cập nhật ... –
Không chính xác của tác giả nhưng có lẽ truy cập bằng cách duy trì cũng sẽ có ích?
http://cran.r-project.org/web/checks/check_summary_by_maintainer.html#summary_by_maintainer
EDIT bởi Tyler Rinker
gợi ý DWin có thể được đưa đến thành hiện thực với những dòng mã:
search.lib <- function(term, column = 1){
require(XML)
URL <- "http://cran.r-project.org/web/checks/check_summary_by_maintainer.html#summary_by_maintainer"
dat <-readHTMLTable(doc=URL, which=1, header=T, as.is=FALSE)
names(dat) <- trimws(names(dat))
dat$Maintainer[dat$Maintainer == ""] <- NA
dat$Maintainer = zoo::na.locf(dat$Maintainer)
if (is.numeric(column)) {
dat[agrep(term, dat[, column]), 1:3]
} else {
dat[agrep(term, dat[, agrep(column, colnames(dat))]), 1:3]
}
}
search.lib("hadley")
search.lib("bolker")
search.lib("brewer", 2)
DWin Tôi đã đăng chỉnh sửa (giải pháp) cho câu hỏi của tôi bằng cách sử dụng đề xuất +1 –
Do hàng trống, chỉ gói đầu tiên theo thứ tự bảng chữ cái của từng tác giả đã được trả về --- có thể do định dạng cập nhật trên trang web? Đã chỉnh sửa để điền vào các giá trị bị thiếu và trả lại tất cả các kết quả. – Gregor
- 1. jqGrid: cách ẩn một trường tìm kiếm cụ thể trong thanh công cụ tìm kiếm
- 2. Dừng một git cam kết bởi một tác giả cụ thể bằng cách sử dụng móc trước cam kết
- 3. Gói công cụ tìm kiếm có thể cài đặt để tìm kiếm tập tin
- 4. Tìm tác giả của một dòng mã trong Mercurial
- 5. Chỉnh sửa tác giả cho các thay đổi cụ thể
- 6. Hoàn nguyên tất cả các cam kết của một tác giả cụ thể kể từ thời điểm cụ thể
- 7. Tìm kiếm một trình biên tập C++ tác động thấp
- 8. Cách tìm kiếm kho lưu trữ Maven/Ivy công khai cho một lớp học cụ thể?
- 9. Tìm kiếm một công cụ linh hoạt hơn GNU thụt
- 10. Tìm kiếm một thẻ
- 11. Cách một số trang web có liên kết giả xuất hiện trong kết quả của Công cụ Tìm kiếm
- 12. tìm kiếm khung công tác giả lập C# cho phép các phương thức tĩnh mô phỏng
- 13. Tìm kiếm tạo tác Maven luôn trống
- 14. Tìm một ngày cụ thể thuộc về
- 15. Tìm một thẻ cụ thể với BeautifulSoup
- 16. Tìm kiếm một .NET BuildServer SaaS
- 17. Loại trừ RegExp, tìm kiếm một từ không theo sau bởi một số khác
- 18. Sử dụng dấu nhắc cmd để tìm kiếm một từ trên google hoặc công cụ tìm kiếm khác
- 19. Không thể tìm kiếm một cách hiệu quả trong Emacs
- 20. Tìm kiếm một công cụ mẫu có thể được sử dụng trong Java và JavaScript
- 21. Linux: Tìm kiếm một từ cụ thể trong Danh sách tệp theo thư mục
- 22. Cách tìm kiếm toàn bộ chuỗi cho một từ cụ thể?
- 23. XPath truy vấn tìm kiếm một phần tử với văn bản cụ thể
- 24. Hỗ trợ Wikipedia API có tìm kiếm một mẫu cụ thể không?
- 25. Tìm kiếm một chuỗi cụ thể trong ứng dụng Youtube từ ứng dụng của tôi
- 26. Làm cách nào để tìm kiếm trong vim cho một dòng có 2 từ cụ thể?
- 27. Làm thế nào để tìm kiếm một NSSet hoặc NSArray cho một đối tượng có giá trị cụ thể cho một thuộc tính cụ thể?
- 28. VIM: Chỉ tìm kiếm giữa các số dòng cụ thể?
- 29. tìm kiếm boolean trên một mảng
- 30. Mô-đun tìm kiếm của Drupal có thể tìm kiếm chuỗi con không? (Tìm kiếm một phần)
Tôi nghĩ bài này http://stackoverflow.com/ question/8722233/available-packages-by-publication-date có các thành phần cơ bản mà bạn cần ... –
Tôi đã đăng một câu hỏi tương tự cách đây vài ngày (http://stackoverflow.com/questions/10032079/crantastic-p ackages-sắp xếp theo số lượng người dùng) nhưng nó đã nhanh chóng bị đóng vì không phải là một câu hỏi lập trình thực sự. Tôi hy vọng bạn sẽ may mắn hơn tôi (phải thừa nhận rằng, từ ngữ của bạn tốt hơn nhiều so với tôi!). Nếu bạn quan tâm đến một giải pháp R, tôi đã đăng một bài viết có mã để cạo (một số) dữ liệu của crantastic vào một data.frame tại http://r-de-jeu.blogspot.com/2012/04/50- most-used-r-packages.html. – flodel
Tôi đã xóa câu trả lời được đăng trong câu hỏi và thêm câu trả lời đó vào câu trả lời do @DWin cung cấp. Xin đừng trả lời câu hỏi của bạn bên trong câu hỏi - điều này quá khó hiểu. Nếu câu trả lời được đăng không hoàn toàn đạt được điều đó, hãy đăng và chấp nhận câu trả lời của riêng bạn. – Andrie