R - 'data'不是'namespace:my_package'的导出对象

问题描述 投票:5回答:2

我正在编写一个使用外部数据的函数,如下所示:首先,它检查数据是否在data /文件夹中,如果不是,则创建data /文件夹,然后从github下载文件;如果数据已经在data/文件夹中,则会读取该数据并执行计算。

问题是,当我跑:

devtools::check()

它返回:

Error: 'data' is not an exported object from 'namespace:my_package'

我应该手动在NAMESPACE上放一些东西吗?

一个例子:

my_function <- function(x){
if(file.exists("data/data.csv")){
    my_function_calculation(x = x)
  } else {
    print("Downloading source data...")
    require(RCurl)
    url_base <-
 getURL("https://raw.githubusercontent.com/my_repository/data.csv")
    dir.create(paste0(getwd(),"/data"))
    write.table(url_base,"data/data.csv", sep = ",", quote = FALSE)
    my_function_calculation(x = x)
  }
}

my_function_calculation <- function(x = x){
    data <- NULL
    data <- suppressMessages(fread("data/data.csv"))
    #Here, I use data...
    return(data)
}
r namespaces devtools roxygen2
2个回答
6
投票

它在每种情况下都不一样,但我通过删除data.R文件夹上的R/文件解决了这个问题。

data.R是一个描述包中所有数据的文件。自从我的代码的上一版本以来,我已经拥有了内置数据,而不是远程(下载)。删除文件解决了我的问题。

数据示例.R:

#' Name_of_the_data
#'
#' Description_of_the_Data
#'
#' @format A data frame with 10000 rows and 2 variables:
#' \describe{
#'   \item{Col1}{description of Col1}
#'   \item{Col2}{description of Col2}
#' }
"data_name"

0
投票

无需删除/ R文件夹中的data.R,您只需要围绕NULL关键字修饰文档,如下所示:

#' Name_of_the_data
#'
#' Description_of_the_Data
#'
#' @format A data frame with 10000 rows and 2 variables:
#' \describe{
#'   \item{Col1}{description of Col1}
#'   \item{Col2}{description of Col2}
#' }
NULL
© www.soinside.com 2019 - 2024. All rights reserved.