Wenn ein R-Paket überprüft, bekam ich die WarnungWie behandeln „Warnung: Objekt‚xxx‘um mehr als eine Datenverbindung erstellt wird“
Warning: object 'xxx' is created by more than one data call
Was dies verursacht, und wie kann ich es beheben ?
Wenn ein R-Paket überprüft, bekam ich die WarnungWie behandeln „Warnung: Objekt‚xxx‘um mehr als eine Datenverbindung erstellt wird“
Warning: object 'xxx' is created by more than one data call
Was dies verursacht, und wie kann ich es beheben ?
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"
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
@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. –