r - “数据”不是从 'namespace:my_package' 导出的对象

标签 r namespaces devtools roxygen2

我正在编写一个使用外部数据的函数,如下所示:

首先,它检查数据是否在 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)
}

最佳答案

不可能在每种情况下都一样,但我已经通过删除 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"

关于r - “数据”不是从 'namespace:my_package' 导出的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46837428/

相关文章:

r - 如何强制 devtools 在 Remote 中安装软件包

css - 为什么 Chrome Dev Tools 不显示 "computed"选项卡?

R 合并 data.frames asof join

c++ - 命名空间变量已定义错误

javascript - 如何从命名空间外部更新内部配置?

android-layout - 布局 xml 文档中的 Android "tools"命名空间

c# - 如何从 WebView2 中的代码打开 DevTools?

r - 如何在 R Markdown 中将每列的最小值加粗每个单元格

r - 提高Shiny模块的鲁棒性

sql - 通过 R sqlSave 更新 SQL 表