Der folgende Code funktioniert, aber ich kann keine Dokumentation über den Operator ".." (Punktpunkt) in data.table
help und vignette finden:
Die Ausgabe ist:
%Vor%Warum funktioniert das, gibt es dafür Unterlagen?
PS: Normalerweise würde ich mget
etc ... verwenden
Edit 1: Dies ist kein einfaches R-Feature der reservierten Namen ...
, ..1
, ..2
usw., die verwendet werden, um auf Argumente zu verweisen, die von einem Aufrufer übergeben wurden Funktion (siehe ?Reserved
). Mein Beispiel verwendet keine Zahl, sondern Zeichen nach den zwei Punkten.
Edit 2: Dies ist kein Duplikat, wie das Beispiel von Rich Scriven zeigt:
%Vor%Dies war eine neue experimentelle Funktion, die in data.table v1.10.2 hinzugefügt wurde. Es wird in der erläutert NEUE FUNKTIONEN Abschnitt der data.table Nachrichten für Änderungen in v1.10.2 .
Es liest (direkt zitiert):
Wenn
%Vor%j
ein Symbol ist, dem..
vorangestellt ist, wird es im aufrufenden Bereich nachgeschlagen, und sein Wert wird als Spaltenname oder -zahl angenommen.Wenn Sie das Präfix
..
sehen, denken Sie einstufig wie das Verzeichnis..
in allen Betriebssystemen, das heißt das übergeordnete Verzeichnis. In Zukunft könnte das..
Präfix dazu verwendet werden, an allen Symbolen innerhalb vonDT[...]
zu arbeiten. Es soll eine bequeme Möglichkeit sein, Ihren Code davor zu schützen, versehentlich einen Spaltennamen zu übernehmen. Ähnlich wiex.
undi.
Präfixe (analog zu SQL-Tabellen-Aliasen) können bereits verwendet werden, um den gleichen Spaltennamen zu disambiguieren, der sowohl inx
als auch ini
vorhanden ist. Ein Symbolpräfix anstelle einer..()
Funktion wird für uns einfacher intern zu optimieren sein, wenn Sie viele Variablen zum Aufrufen des Bereichs haben, die Sie sicher in Ihren Ausdrücken verwenden möchten. Dieses Feature wurde erstmals im Jahr 2012 vorgestellt und lange gewünscht, # 633 . Es ist experimentell.
Hinweis: Diese Antwort von Arun führte mich zu dieser Information.
Tags und Links r data.table