Bei der Arbeit habe ich einen Windows 7-Computer mit R 3.1.2.R dplyr-Filter maskiert den Basisfilter nicht?
Ich habe eine Datei namens packages.R. In meiner Datei habe ich folgenden Code:
library(dplyr)
library(sqlutils)
library(RODBC)
Meine .Rprofile enthält eine Funktion namens .First.
.First <- function() {
source("R/packages.R")
}
Wenn ich R laden, erhalte ich die folgende Ausgabe:
Loading required package: roxygen2
Loading required package: stringr
Loading required package: DBI
Attaching package: 'dplyr'
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
Wenn man sich diese genau hinschauen, werden Sie den Filter aus Statistiken sehen, ist nicht maskiert.
Aber, wenn ich mein genaues Setup nehme, und die Bibliothek (dplyr) Anweisung in packages.R auskommentieren, speichern Sie die Datei, und starten Sie R und dann manuell neu. . . . wie in Typ von Hand. . . .
library(dplyr)
Attaching package: 'dplyr'
The following object is masked from 'package:stats':
filter
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
Nun maskiert es package :: stats.
Ich verstehe es nicht. Ich muss den Filterbefehl von dplyr sehr für dieses Projekt verwenden und ich möchte dplyr :: filter nicht eingeben, um es zu verwenden. Könnte jemand bitte meinem schwachen Verstand helfen zu verstehen, warum sich das so verhält? Ich habe versucht, R in RStudio und ESS zu starten, und ich bekomme das gleiche Verhalten in beiden. Ich habe auch versucht, dplyr an das Ende der packages.R-Datei zu verschieben, ohne Unterschied zu den Ergebnissen. Ich möchte nur stats :: filter maskieren. Vielen Dank.
Wenn Sie Bibliotheken in .RProfile laden, werden sie sehr früh im R-Startprozess angehängt, bevor das Statistikpaket angehängt wird. Die andere Möglichkeit ist das Hinzufügen von dplyr, nachdem die Statistiken bereits geladen wurden. Ich habe gesehen, dass Hadley aus diesem Grund empfohlen hat, Pakete in .RProfile zu laden (Diskrepanzen in der Ladereihenfolge des Pakets). – joran
... Ich nehme an, Sie könnten versuchen, am Anfang des Skripts, das Sie in .RProfile erstellen, 'library (stats)' hinzuzufügen. – joran
Für grins und kichern, fügte ich Bibliothek (stats) zu meiner packages.R-Datei. Aber das scheint unnötig kompliziert zu sein. Ich schätze, ich werde diese beiden Befehle aus meiner .First() ziehen und sie an die Vorderseite aller meiner Analysedateien verschieben. Ich hasse Vorlagen, die immer und immer wieder mit der gleichen Sache gefüllt sind, aber ich denke, in diesem Fall ist es die bessere Option. – Choens