我正在尝试构建一个包,它运行良好,但在运行 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}

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

最佳答案

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

关于r - 在 R 中构建包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15121312/

10-12 14:06