2015-11-08 7 views

risposta

5

Questo avviso si verifica quando più file RData nella directory data del pacchetto memorizzano una variabile con lo stesso nome.

di riprodurre, creiamo un pacchetto e salvare la cars set di dati due volte, a diversi file:

library(devtools)  
create("test") 
dir.create("test/data")  
save(cars, file = "test/data/cars1.RData") 
save(cars, file = "test/data/cars2.RData") 
check("test") 

L'output di check include queste righe:

trovato le seguenti avvertenze importanti: Attenzione: l'oggetto "auto" viene creato da più di una chiamata dati


nomi delle variabili Se si riceve questo avviso, è possibile trovare ripetuti utilizzando:

rdata_files <- dir("test/data", full.names = TRUE, pattern = "\\.RData$") 
var_names <- lapply(
    rdata_files, 
    function(rdata_file) 
    { 
    e <- new.env() 
    load(rdata_file, envir = e) 
    ls(e) 
    } 
) 

Reduce(intersect, var_names) 
## [1] "cars" 
+0

Questo significa che non è possibile avere più file RDATA con gli stessi nomi delle variabili? La soluzione per archiviare tutto in un file RData (ad esempio diversi dataframes come elenco?) – jalapic

+0

@jalapic: è possibile avere una variabile contenente un elenco di frame di dati o variabili separate con nomi diversi. Nell'esempio sopra, potresti chiamarli 'cars1',' cars2', ecc. Ciò che scegli dipende da cosa è più semplice per i tuoi utenti. –