3

我正在尝试构建一个包,它工作正常,但运行时我收到一个警告R CMD check my.package,即

* checking Rd metadata ... WARNING
Rd files with duplicated alias 'show,whitetest-method':
'show-methods.Rd' 'whitetest-class.Rd'

我的包只包含一个函数,它保存在文件中name.R。但是,在这个name.R文件中,我首先需要创建一个新类(称为whitetest),然后show为它定义方法。这很简单,看起来像这样:

# Create the new class whitetest
setClass("whitetest", representation("list"))

# Specify the appearance of the output
setMethod("show", "whitetest", function(object) {
text1 <- "White's Test for Heteroskedasticity:"
cat(paste("\n", text1, "\n", sep = ""))
row <- paste(rep("=", nchar(text1)), collapse = "")
cat(row, "\n")
cat("\n")
cat(" No Cross Terms\n")
cat("\n")
cat(" H0: Homoskedasticity\n")
cat(" H1: Heteroskedasticity\n")
cat("\n")
cat(" Test Statistic:\n")
cat("", sprintf("%.4f", object$statistic), "\n")
cat("\n")
cat(" Degrees of Freedom:\n")
cat("", object$degrees, "\n")
cat("\n")
cat(" P-value:\n")
cat("", sprintf("%.4f", object$p.value), "\n")
})

package.skeleton()然后我在这个name.R文件上运行命令。在我man的文件夹中,文件show-methods.Rdwhitetest-class.Rd导致问题的文件。该show-methods文件的第一行是:

\name{show-methods}
\docType{methods}
\alias{show-methods}
\alias{show,whitetest-method}

文件的whitetest-class第一行是:

\name{whitetest-class}
\Rdversion{1.1}
\docType{class}
\alias{whitetest-class}
\alias{show,whitetest-method}

我知道这些事情是导致警告的原因,但是我到底该如何解决这个问题呢?

4

1 回答 1

2

好的,我找到了解决方案。该行\alias{show,whitetest-method}同时位于show-methods.Rdwhitetest-class.Rd中。错过这是一件愚蠢的事情,我打算删除这个线程,但我想我会留下它,以防其他人犯同样的错误。

于 2013-02-27T21:09:39.637 回答