Roxygen2 - how to properly document S3 methods

前端 未结 2 1642
南笙
南笙 2020-11-27 14:14

I\'ve read the Roxygen2 PDF as well as this site and I\'m lost about the difference between @method @S3method @export and how you use these to properly document S3 methods.

2条回答
  •  攒了一身酷
    2020-11-27 14:41

    As of roxygen2 >3.0.0, you only need @export:

    #' A description of MyHappyFunction
    #'
    #' A details of MyHappyFunction
    #'
    #' @title MyHappyFunction: The my happy function
    #' @param x numeric number
    #' @param ... other arguments
    #' @examples
    #' a <- 1
    #' class(a) <- "lm"
    #' MyHappyFunction(a)
    #' @export
    MyHappyFunction <- function(x, ...){
      UseMethod("MyHappyFunction")
    }
    
    #' @rdname MyHappyFunction
    #' @export
    MyHappyFunction.lm = function(x, ...) {
      # do some magic
    }
    
    #' @rdname MyHappyFunction
    #' @export
    MyHappyFunction.default = function(x, ...) {
      # do some magic
    }
    

    But since you're not actually documenting the methods, the following is sufficient:

    #' A description of MyHappyFunction
    #'
    #' A details of MyHappyFunction
    #'
    #' @title MyHappyFunction: The my happy function
    #' @param x numeric number
    #' @param ... other arguments
    #' @examples
    #' a <- 1
    #' class(a) <- "lm"
    #' MyHappyFunction(a)
    #' @export
    MyHappyFunction <- function(x, ...){
      UseMethod("MyHappyFunction")
    }
    
    #' @export
    MyHappyFunction.lm = function(x, ...) {
      # do some magic
    }
    
    #' @export
    MyHappyFunction.default = function(x, ...) {
      # do some magic
    }
    

提交回复
热议问题