2017-10-19 11 views
2

私は次のように外部データを使用する関数を書いています: まず、データがdata /そうでない場合は、data /フォルダを作成し、githubからファイルをダウンロードします。 データがすでにdata/フォルダにある場合は、そのデータを読み取り、計算を実行します。R - 'data'は 'namespace:my_package'からエクスポートされたオブジェクトではありません

私が実行したときの質問は、次のとおりです。

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) 
} 
+1

とどのように正確に、このコードの実行がいますか?あなたのパッケージから 'data'という名前の変数をエクスポートしようとしていますか?あなたのコードがどんなものかをより明確にするために、最小限の[再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を作ろうとしてくださいあなたは何も共有していないからです。 – MrFlick

+0

完了!ちょうどそれを含めた。 – Igor

答えて

0

それはすべてのケースでも同じことができませんでしたが、私はR/フォルダにdata.Rファイルを削除することで問題を解決してきました。

data.Rは、パッケージに含まれるすべてのデータを記述するファイルです。以前のバージョンのコードでは、データを組み込み、リモートではなく(ダウンロードする)作成していました。 ファイルを削除すると問題が解決しました。 data.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" 
関連する問題