在R中构建一个包

时间:2013-02-27 20:04:53

标签: r package alias

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

我知道这些事情正在引起警告,但我到底怎么解决这个问题呢?

1 个答案:

答案 0 :(得分:2)

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