gpt4 book ai didi

r - 赋值函数文档失败 R CMD CHECK

转载 作者:行者123 更新时间:2023-12-04 12:23:00 26 4
gpt4 key购买 nike

我在使用 check 时遇到问题使用 Roxygen 进行赋值函数。

这是一个相当小的例子:

#' Get sp feature IDs
#' @aliases IDs IDs.default IDs.SpatialPolygonsDataFrame IDs<- IDs<-.SpatialPolygonsDataFrame
#' @param x The object to get the IDs from or assign to
#' @param value The character vector to assign to the IDs
#' @param \dots Pass-alongs
#' @author Ari B. Friedman
#' @rdname IDs
IDs <- function(x,...) {
UseMethod("IDs",x)
}
#' @method IDs default
#' @S3method IDs default
#' @rdname IDs
IDs.default <- function(x,...) {
stop("Currently only SpatialPolygonsDataFrames are supported.")
}
#' @method IDs SpatialPolygonsDataFrame
#' @S3method IDs SpatialPolygonsDataFrame
#' @rdname IDs
IDs.SpatialPolygonsDataFrame <- function(x,...) {
vapply(slot(x, "polygons"), function(x) slot(x, "ID"), "")
}

#' Assign sp feature IDs
#' @rdname IDs
"IDs<-" <- function( x, value ) {
UseMethod("IDs<-",x)
}
#' @method IDs<- SpatialPolygonsDataFrame
#' @S3method IDs<- SpatialPolygonsDataFrame
#' @rdname IDs
"IDs<-.SpatialPolygonsDataFrame" <- function( x, value) {
spChFIDs(x,value)
}

当我运行时 check :
* checking for code/documentation mismatches ... WARNING
Codoc mismatches from documentation object 'IDs':
IDs<-
Code: function(x, value)
Docs: function(x, value, value)
IDs<-.SpatialPolygonsDataFrame
Code: function(x, value)
Docs: function(x, value, value)

我不明白第二个 value在哪里来自。我试过消除 @param value理论上可能 Roxygen 会自动为赋值函数创建一个条目,但这并不能消除 (x,value,value)定义并产生一个新警告,提示我没有定义 value .

这是 .Rd 的相关部分生成:
\usage{
IDs(x, ...)

\method{IDs}{default} (x, ...)

\method{IDs}{SpatialPolygonsDataFrame} (x, ...)

IDs(x, value) <- value

\method{IDs}{SpatialPolygonsDataFrame} (x, value) <-
value
}

我没有看到 (x, value, value)签名 check claim 在那里。

这是一个 S3 函数,但它在 S4 对象上运行。我认为,这仍然应该使它成为 S3。但如果不是,那可能是我使用了 @S3method是问题所在。

帮助?

最佳答案

这是一种相当骇人听闻的方法,但似乎 roxygen 处理此问题的方式暂时仍被破坏( LINK )。但是您可以直接将用法部分手动添加到您的 roxygen 注释中。

#' Assign sp feature IDs
#' @rdname IDs
#' @usage IDs(x) <- value
"IDs<-" <- function( x, value ) {
UseMethod("IDs<-",x)
}

#' @method IDs<- SpatialPolygonsDataFrame
#' @S3method IDs<- SpatialPolygonsDataFrame
#' @rdname IDs
#' @usage IDs(x) <- value
"IDs<-.SpatialPolygonsDataFrame" <- function( x, value) {
spChFIDs(x,value)
}

关于r - 赋值函数文档失败 R CMD CHECK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13322021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com