Wie sagt es in ?"="
:
Operator '< -' überall dort eingesetzt werden kann, während der Operator '=' ist nur auf der obersten Ebene erlaubt (zB in dem vollständigen Ausdruck eingegeben an der Eingabeaufforderung) oder als einer der Unterausdrücke in einer abgestützten Liste von Ausdrücken .
Mit =
in einem Argumente zu quote
benutzt es nicht auf der obersten Ebene, so müssen Sie es in Klammern oder Klammern gesetzt, aber immer noch vorsichtig sein, wie Sie diesen Ausdruck zu bewerten, da die oben genannten Regeln wird immer noch gelten.
quote({x=y})
quote((x=y))
einen Kommentar adressieren:
Wie Gavin Simpson sagte: im Grunde das „Top-Level“ ist, wenn Sie den Code an der Eingabeaufforderung eingeben oder laufen und nicht in einem Funktionsaufruf. Nehmen Sie zum Beispiel z = quote(expr=x)
. z = quote(...)
wird auf der obersten Ebene ausgewertet, aber expr=x
ist nicht, weil es in einem Funktionsaufruf ist.
quote(expr=x)
, =
wird verwendet, um dem Funktionsargument expr
den Wert x
zuzuweisen; Damit Sie nicht mehr auf der obersten Ebene arbeiten, erstellen Sie eine Funktionsargumentliste (Pairlist). Der Grund quote(x=y)
schlägt fehl, weil quote
kein x
Argument hat.
Der Kontext der obersten Ebene wird in R Internals, in Section 1.4, Contexts kurz beschrieben.
Große Antwort! Danke – Ali
Wenn Sie es als "eine gute Antwort" betrachten, sollten Sie es nicht akzeptieren? –
@Jilber: Genau! Ich warte darauf! – Ali