Kann in R "Hinweis: Keine sichtbare Bindung für globale Variable" unterdrückt werden?
Ich frage mich, ob es möglich ist, diese Ausgaben in R zu unterdrücken, die die Konsole überladen:
Note: no visible binding for global variable '.->ConfigString'
Note: no visible binding for '<<-' assignment to 'ConfigString'
Hier ist der Code (eine einfache Referenzklasse zum Speichern der Konfiguration für ein R-Projekt):
# Reference Class to store configuration
Config <- setRefClass("Config",
fields = list(
ConfigString = "character"
),
methods = list(
# Constructor
initialize = function() {
ConfigString <<- "Hello, World!"
}
)
)
Was ich bisher ausprobiert habe
Ich habe immer versucht, die Variablen zu kombinieren und zu permutieren, indem ich sie vorab auf null usw. gesetzt habe, aber R druckt immer noch hartnäckig Hunderte von "No Visible Binding" -Notizen in meinem Quellcode.
Ist jemand klüger als ich, wenn es um die Interna von R geht?
Update 1
Ich habe versucht, mich umzuziehenConfig <-
zuConfig <<-
, und das wird die zweite fremde Note los. Die erste fremde Note ist jedoch noch vorhanden.
Update 2
Ich fange sogar an, den Mut zu verlierenBeispielcode von John Chambers erzeugt mehr von diesen schrecklichen, fremden Noten.
Update 3
Diese Notizen treten in Revolution R v7.0 auf, jedoch nicht in RStudio. Es sieht so aus, als würde Revolution R v7.0 anrufenR CMD check
Wird normalerweise nur beim Vorbereiten von Paketen verwendet, sodass diese Hinweise ignoriert werden können.
Update 4
Hadley Wickhams Code generiert auch diese Notizen. Anscheinend ist es möglich, sie mit zu beseitigenutils::globalVariables
Dies scheint jedoch bei den neueren ReferenceClasses nicht zu funktionieren. Selbst wenn es überhaupt möglich wäre, sie zu benutzen, stellt Hadley fest:
globalVariables ist ein abscheulicher Hack und ich werde ihn niemals benutzen.