上roxygen和S4類一般信息
roxygen的第一個版本已經在@slot
標籤,但該版本不維護更有利於roxygen2
。所以建議不要使用舊版本。
就目前而言,roxygen2
沒有真正支持S4類。哈德利正努力在roxygen3
(https://github.com/hadley/roxygen3)中做到這一點。如果你想給它一個鏡頭,並感到勇敢:從github安裝roxygen3
,並嘗試開發版本。請注意,此版本最終將包含在roxygen2
中,因此問題會及時解決。
關於你的工作流程:
我個人一直覺得這是一個壞主意,使用roxygen和手動編寫.Rd文件結合起來。但是,如果必須,您可以使用參數roxygen.dir
將roxygen的輸出發送到其他目錄。這樣,您可以將您想要的任何內容複製到軟件包目錄中,而不會覆蓋手動編寫的文件。
roxygenise("./mypackage", roxygen.dir="./myroxygendir")
我會做什麼,是簡單地使用roxygen2
爲您鏈接到線程解釋寫Rd文件爲你的類。您不必像手中那樣手動添加它們,原因不明。您只需使用#'
像往常一樣指示Rd塊,並使用您鏈接到的線程中給出的任何內容。如果您想將插槽製作爲單獨的部分,則可以使用@section
標籤來完成此操作,如下例所示。
如何添加插槽使用roxygen2
當下一個例子:
#' The MY class
#'
#' This class blabla yadayada
#'
#'@section Slots:
#' \describe{
#' \item{\code{aslot}:}{Object of class \code{"numeric"}, containing
#'whatever and a bit more}
#' \item{\code{anotherslot}:}{Object of class \code{"character"}, containing
#' strings.}
#' }
#'
#' @note Yes, you can add notes
#' @name MY
#' @rdname MY
#' @aliases MY-class
#' @exportClass MY
#' @author Joris Meys
setClass("MY",
representation=representation(aslot="numeric",
anotherslot="character"
)
@ Hans0I0究竟是你的問題嗎?按照你所鏈接的那個話題做什麼,以及例如http://www.inside-r.org/questions/how-properly-document-s4-class-slots-using-roxygen2。確保您正確導出它們.μ –
我的問題是R Studio標準工作流程。每次我點擊構建'Roxygen'用於創建.Rd文件。如果我手動添加類的.Rd文件(如本主題中所建議的那樣),那麼下次從R Studio運行構建時,這些手動更改將被覆蓋。 –
但是,您不必手動添加.Rd文件。你只需要使用描述來創建你的插槽。 –