2015-11-08 8 views

Odpowiedz

5

To ostrzeżenie występuje, gdy wiele plików RData w katalogu data pakietu przechowuje zmienną o tej samej nazwie.

Aby odtworzyć, tworzymy paczkę i zapisać cars zestawu danych dwa razy, na różnych plikach:

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

Wyjście z check obejmuje następujące linie:

Znaleziono następujące istotne ostrzeżenia: Ostrzeżenie: obiekt "samochody" jest tworzony przez więcej niż jedno połączenie danych


Jeśli otrzymasz ostrzeżenie to można znaleźć powtarzające się nazwy zmiennych przy użyciu:

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

Czy to znaczy, że nie można mieć wiele plików RData z tymi samymi nazwami zmiennych? Czy rozwiązaniem jest przechowywanie wszystkich w jednym pliku RData (na przykład kilka ramek danych jako listy?) – jalapic

+0

@jalapic: Możesz mieć jedną zmienną zawierającą listę ramek danych lub oddzielne zmienne o różnych nazwach. W powyższym przykładzie możesz nazwać je 'cars1',' cars2', itp. Wybór zależy od tego, co jest najłatwiejsze dla użytkowników. –