Um den Körper einer verpackten Funktion func
temporär zu bearbeiten, verwende ich häufig trace(func, edit=TRUE)
. Aus irgendeinem Grund lässt R dies jedoch nicht zu, wenn func
ist [.data.table
:
Fragen: Was könnte diesen Fehler verursachen? Welche anderen Funktionen lösen es auch aus? Gibt es für solche Funktionen eine alternative Lösung, die es mir erlaubt, sie zu bearbeiten?
FWIW, dies scheint kein allgemeines Problem mit Funktionen im #1
unten), noch ist es ein Problem mit Subset-Methoden im Allgemeinen ( siehe zB #2
unten).
Ich führe R-3.0.0
und data.table_1.8.8
auf einem Windows XP-Rechner aus und erhalte denselben Fehler, egal ob ich options(editor="emacs")
, options(editor="notepad")
oder den Standard-Editor der R GUI benutze.
Dies wird anscheinend durch die kürzliche Hinzufügung von geschweiften Klammern (d. h. {}
) an einer Stelle in der formalen Argumentliste von data.table
verursacht.
Erstens, ein MRE, um zu zeigen, dass geschweifte Klammern wirklich trace(..., edit=TRUE)
ersticken:
Für den Datensatz sind hier die Formale für [.data.table
in Version 1.8.6 (für die Tracing funktioniert) und Version 1.8.8 (für die es nicht funktioniert):
Tags und Links r data.table tracing