无法记录我的R套餐'NAMESPACE'问题

时间:2017-04-03 19:38:07

标签: r documentation r-package

我尝试编写我的第一个R包并启动一个测试功能。 当我创建一个全新的包时,我在R文件夹中得到一个示例'Hello.R',在Man文件夹中得到'Hello.Rd'。

然后我删除helloworld测试函数并输入我的测试代码,编写文档并尝试创建新文档:

#' A Cat Function
#'
#' This function allows you to express your love of cats.
#' @param love Do you love cats? Defaults to TRUE.
#' @keywords cats
#' @export
#' @examples
#' cat_function()

cat_function <- function(love=TRUE){
  if(love==TRUE){
    print("I love cats!")
  }
  else {
    print("I am not a cool person.")
  }
}

devtools::document()

然后我收到了这个错误:

> devtools::document()
Updating cat2 documentation
Loading cat2
First time using roxygen2. Upgrading automatically...
Updating roxygen version in /Users/daisywang/Desktop/R Package          Programming/cat2/DESCRIPTION
Warning: The existing 'NAMESPACE' file was not generated by roxygen2, and will     not be overwritten.
Warning messages:
1: In readLines(file) :
  incomplete final line found on '/Users/daisywang/Desktop/R Package     Programming/cat2/DESCRIPTION'
2: In readLines(file) :
  incomplete final line found on '/Users/daisywang/Desktop/R Package Programming/cat2/DESCRIPTION'

然后我尝试删除文件夹中的“NAMESPACE”文件,并收到无限错误:

Updating cat2 documentation
Loading cat2

 Show Traceback

 Rerun with Debug
 Error in dev_meta(pkg$package) (from hello.R#19) : 
  Namespace not found for cat2. Is it loaded? 

任何洞察力都赞赏!!

1 个答案:

答案 0 :(得分:5)

devtools::document()不应该是hello.R(或cat.R)文件的一部分。此功能仅用于直接从终端调用。