Một ví dụ đơn giản là tôi đã tạo phần mở rộng cho show
, là phương pháp cơ sở S4. Tôi không muốn gây ra một ngã ba định hướng bằng cách tái tài liệu show
trong gói của mình và tôi cũng muốn hợp nhất tài liệu của tiện ích mở rộng của tôi thành show
trong tài liệu cho lớp mới, myPkgSpClass
, bằng cách thêm bí danh cho show,myPkgSpClass-method
.Làm thế nào để thêm bí danh lớp cụ thể mà không có bí danh chung bằng cách sử dụng Roxygen2?
#' @export
#' @aliases show,myPkgSpClass-method
#' @rdname myPkgSpClass-class
setMethod("show", "myPkgSpClass", function(object){ show(NA) })
Vấn đề tôi đang gặp, là điều này dẫn đến một cảnh báo nghiêm trọng trong tài liệu-xây dựng bởi roxygen2, Rd files with duplicated alias 'show':
vì có nhiều hơn một lớp mở rộng để show
trong gói này, và roxygen2 đã tự động thêm vào generic hạn trong danh sách các bí danh cho tất cả các *-class.Rd
file liên quan:
\alias{show}
\alias{show,myPkgSpClass-method}
Nhưng tôi nghĩ rằng tôi không muốn bí danh chung trong bất kỳ trường hợp, bởi vì nó sẽ buộc các nhu cầu về định hướng giữa show
trong tôi gói và cơ số show
. Vấn đề này cũng áp dụng cho các phương pháp S4 khác được mở rộng từ các gói khác ngoài show
.
Nếu tôi gắn thẻ tất cả các phương thức cụ thể theo lớp vào cùng một tệp .Rd
, thì cảnh báo sẽ biến mất, nhưng sự mơ hồ vẫn còn, vì bí danh show
vẫn được thêm tự động cho mục nhập tài liệu đó. Nếu tôi xóa thủ công \alias{show}
từ tệp .Rd
thì sự cố có vẻ đã được giải quyết, không có cảnh báo nào trong roxygen hoặc R CMD check pkgname
. Vậy làm cách nào để Roxygen2 không thêm bí danh chung?
nền khác:
Đây là một tòa nhà câu hỏi cụ thể từ một vấn đề trước đó cho xuất khẩu/tài liệu phần mở rộng S4 với các phương pháp cơ bản: Is it necessary to export base method extensions in an R package? Documentation implications?
Đó là cụ thể hơn, và không thuộc phạm vi, sau đây thắc mắc về phương pháp chủ tài liệu S4/classes sử dụng Roxygen2:
How to properly document S4 methods using roxygen2
How to properly document S4 class slots using Roxygen2?
Gửi báo cáo lỗi. – hadley
https://github.com/klutometis/roxygen/issues/75 Không chắc chắn nếu điều này chỉ áp dụng cho S4. Đã không được thử nghiệm trên Generics S3. –
Lỗi này vẫn tồn tại trong phiên bản 2.2.2 trên CRAN (bình luận thêm vào vấn đề trên github). Nó được cố định trong chi nhánh S4, nhưng cái đó dường như không hoạt động trong hai năm qua. Nó chắc chắn không cố định trên CRAN. –