2015-11-08 7 views

Antwort

5

Diese Warnung tritt auf, wenn mehrere RData Dateien im Verzeichnis data des Pakets eine Variable mit demselben Namen speichern.

zu reproduzieren wir ein Paket und speichern Sie die cars-Datensatz zweimal, um verschiedene Dateien zu erstellen:

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

Die Ausgabe von check enthält die folgenden Zeilen:

Gefunden folgende wesentliche Warnungen: Warnung: Das Objekt 'Autos' wird durch mehr als einen Datenaufruf erstellt.


Wenn Sie diese Warnung erhalten, können Sie wiederholt Variablennamen finden Verwendung:

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

Bedeutet dies, es ist nicht möglich mehrere rdata Dateien mit den gleichen Variablennamen haben? Ist die Lösung, alle in einer RData-Datei (z. B. mehrere Datenrahmen als Liste) zu speichern? – jalapic

+0

@jalapic: Sie können entweder eine Variable mit einer Liste von Datenrahmen haben, oder separate Variablen mit unterschiedlichen Namen. Im obigen Beispiel könnten Sie sie 'cars1',' cars2' usw. nennen. Welche Sie wählen, hängt davon ab, was für Ihre Benutzer am einfachsten ist. –