2017-08-04 15 views
6

Hầu hết các trang trợ giúp của R được thiết kế để cung cấp tài liệu về các lệnh cụ thể và có thể dễ dàng tìm thấy nếu bạn biết lệnh và đang tìm cách sử dụng nó. Nhưng có một số trang trợ giúp không liên quan chủ yếu đến các lệnh đơn lẻ, nhưng với các công cụ hoặc kỹ thuật lập trình có ảnh hưởng đến nhiều lệnh riêng lẻ và tên của trang không phải là tên của bất kỳ lệnh nào. Ví dụ bao gồm các trang trợ giúp cho "regex" và "kết nối", "Chức năng chung bên trong" và nhiều trang khác.Tìm các trang trợ giúp R ​​không được đặt tên cho các lệnh cụ thể

Tôi lo lắng rằng có những điều tôi nên biết được ghi lại ở đâu đó trong tập hợp các trang trợ giúp mà tôi không biết cách tìm. Có danh sách xuất bản các trang như vậy mà tôi có thể khám phá không? Hoặc có cách nào để sử dụng các hàm trợ giúp R ​​hoặc R để tạo ra một danh sách như vậy không?

Tôi đã từng tìm cách tạo danh sách tất cả các lệnh R trong phân phối thông thường - theo thứ tự năm 2000 nếu tôi nhớ chính xác - nhưng tôi không biết cách tìm danh sách tên trang trợ giúp phù hợp .

Sau khi đọc các câu trả lời hữu ích và thú vị dưới đây, tôi đã nhận ra rằng đây là một vấn đề khó khăn hơn tôi nghĩ. Bằng cách:

things <- mget(ls("package:base"), inherits = TRUE) 
fns <- Filter(is.function, unique(things)) 
length(fns) 

chúng tôi biết rằng có 1169 chức năng duy nhất trong gói cơ sở. Theo đề xuất của G. Grothendieck dưới đây, chúng tôi biết rằng có 1216 trang trợ giúp được liên kết với gói cơ sở. Vì vậy, ít nhất 47 trong số các trang này nói chuyện với một cái gì đó khác với chức năng cụ thể. Nhưng con số thực sự lớn hơn nhiều, bởi vì có rất nhiều trang trợ giúp cung cấp thông tin về nhiều chức năng, trong khi tôi không biết về bất kỳ chức năng nào có nhiều điều trị ngẫu nhiên trên nhiều trang. Vì vậy, đặt chúng vào đúng thư từ sẽ yêu cầu kiểm tra bổ sung của mỗi trang.

Ví dụ: hãy xem trang trợ giúp có tiêu đề "funprog". Mô tả ngắn gọn của nó là "Các hàm bậc cao thường gặp trong các ngôn ngữ lập trình hàm". Bạn có thể truy cập nó bằng cách tìm kiếm một trong sáu chức năng mà nó thảo luận (Giảm, Lọc, Tìm, Bản đồ, Phủ định, Vị trí). Trong danh sách các trang trợ giúp từ đề xuất của Grothendieck dưới đây, trang này không xuất hiện dưới tên trang của nó, nhưng chỉ dưới "Giảm", mà phải đứng trong năm chức năng khác. Nhưng điều đó có nghĩa là có thêm năm trang không được liên kết với một hàm cụ thể, nhưng với một cái gì đó khác. Tôi đã hy vọng cho một số cách cơ khí của các chức năng phù hợp với các trang trợ giúp của họ và sản xuất một danh sách đầy đủ các trang còn lại. Nó sẽ không dễ dàng như vậy.

Ngoài ra, chọc quanh dựa trên các đề xuất bên dưới đã dẫn tôi đến 33 họa tiết liên quan đến các gói cơ bản và được đề xuất, trong đó tôi thường không biết. Tôi nghĩ thật khó để vẽ một đường khái niệm giữa các họa tiết này và các trang trợ giúp không liên kết với các lệnh cụ thể, như trang trợ giúp funprog được mô tả ở trên.

+1

Nếu nó hiện không có sẵn, một wiki cộng đồng trên SO liệt kê các trang trợ giúp như vậy sẽ là một bổ sung tuyệt vời cho [r-faq]. – lmo

Trả lời

2

help.search có thể, uh, trợ giúp. Ví dụ: help.search("regex") cung cấp danh sách các tệp trợ giúp liên quan đến regex. Nó có thể hỗ trợ các cụm từ thông dụng như help.search("opti*") hoặc bạn có thể sử dụng đối số keyword để nhận các trang trợ giúp dựa trên các chủ đề, ví dụ: help.search(keyword="array"). Bạn có thể sử dụng file.show(paste0(R.home("doc"), "/KEYWORDS")) để nhận danh sách các từ khóa trợ giúp R.

Tất nhiên, chức năng này chỉ tốt như tài liệu của các gói bạn đang sử dụng. Nếu nhà phát triển gói không chỉ định từ khóa trong tài liệu của họ, bạn sẽ không tìm thấy những gì bạn đang tìm kiếm với đối số keyword.

3

Hãy thử help.start() và khám phá các liên kết cung cấp cho bạn.

Cũng thử help(package = base) và cũng cho các gói ngoài gói khác bao gồm số liệu thống kê, đồ họa, grDevices, utils, bộ dữ liệu và phương pháp.

+0

Ooh, thật tuyệt. Nhấp vào "Công cụ tìm kiếm & Từ khóa" sẽ hiển thị một danh sách lớn và một thanh tìm kiếm nhỏ. Về cơ bản là phiên bản HTML của 'help.search'. – mikeck

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