2017-10-19 39 views
2

J'écris une fonction qui utilise une donnée externe comme suit: D'abord, il vérifie si les données sont dans le dossier data /, si n'est pas, il crée le dossier data /, puis télécharge le fichier à partir de github; Si les données se trouvent déjà dans le dossier data/, elles le lisent et effectuent les calculs.R - 'data' n'est pas un objet exporté de 'namespace: my_package'

La question est, quand je lance:

devtools::check() 

il retourne:

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

Dois-je mettre la main sur quelque chose NAMESPACE?

Un exemple:

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

Quand et comment fonctionne exactement ce terme de code? Essayez-vous d'exporter une variable nommée 'data' de votre paquet? S'il vous plaît essayez de faire un minimum [exemple reproductible] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) pour le rendre plus clair à quoi ressemble exactement votre code puisque vous n'en avez pas partagé. – MrFlick

+0

fait! Je l'ai juste inclus. – Igor

Répondre

0

Il ne pouvait pas être le même dans tous les cas, mais je l'ai résolu le problème en supprimant le fichier data.R sur le dossier R/.

data.R est un fichier décrivant toutes les données présentées dans le package. Je l'ai eu depuis la version précédente de mon code, qui avait les données intégrées, pas à distance (à télécharger). La suppression du fichier a résolu mon problème.

Exemple de 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"