gpt4 book ai didi

r - 带有 "["参数的 'missing' 的 S4 文档

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

这个问题与this question非常相似但是当我尝试回答时,我在 R CMD check 后面收到了一个额外的“注意” .虽然只是NOTE我真的很想有一个完全干净的检查。

* checking Rd line widths ... NOTE
Error: 8: no comma in argument list following \S4method
Execution halted

如果我传递所有其他参数( i,j,drop )并记录所有参数,我可以摆脱这个问题,但我不使用它们。在我看来,在这种情况下添加额外的文档是一种浪费。
#' An S4 class that stores a list.
#' @export
setClass("testClass",
representation(a="list"))

#' Extract parts of testClass.
#' @param x testClass
#'
setMethod("[", signature(x = "testClass"),
function (x){
print("void function")
}
)

导致错误的 Rd 文件:
% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/test.R
\docType{methods}
\name{[,testClass-method}
\alias{[,testClass-method}
\title{Extract all elements}
\usage{
\S4method{[}{testClass}(x)
}
\arguments{
\item{x}{testClass}
}
\description{
Extract all elements
}

如果我定义并记录所有参数,则以下 Rd 不会导致错误
% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/test.R
\docType{methods}
\name{[,testClass,missing,missing,missing-method}
\alias{[,testClass,missing,missing,missing-method}
\title{Extract all elements}
\usage{
\S4method{[}{testClass,missing,missing,missing}(x, i, j, drop)
}
\arguments{
\item{x}{testClass}

\item{i}{missing}

\item{j}{missing}

\item{drop}{missing}
}
\description{
Extract all elements
}

最佳答案

您可以尝试尝试以下操作:

setMethod("[", signature(x="testClass", i="missing", j="missing", drop="missing"), ...)

虽然我觉得你甚至没有指定 i 似乎很奇怪.您也可以设置 i"ANY" .

此外,您可能需要更新您的 @param标签类似于:
#' @param x testClass
#' @param i missing
#' @param j missing
#' @param drop missing

您可能不关心这些参数,但您使用的是定义它们的泛型( [ ),因此您几乎有义务在您的方法中定义它们,因此也应该在文档中定义它们以突出显示您的特定方法是不同于一般。来自 ?methods :

Method definitions are required to have the same formal arguments as the generic function, since the method dispatch mechanism does not rematch arguments, for reasons of both efficiency and consistency.

关于r - 带有 "["参数的 'missing' 的 S4 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271406/

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