Ich bin gespannt, ob R seine eval()
Funktion verwenden kann, um Berechnungen durchzuführen, die beispielsweise von einer Zeichenfolge bereitgestellt werden.
Dies ist ein häufiger Fall:
eval("5+5")
Anstelle von 10 bekomme ich jedoch:
[1] "5+5"
Irgendeine Lösungsmöglichkeit?
Die eval()
Funktion wertet einen Ausdruck aus, "5+5"
ist jedoch eine Zeichenfolge und kein Ausdruck. Verwenden Sie parse()
mit text=<string>
, um die Zeichenfolge in einen Ausdruck zu ändern:
> eval(parse(text="5+5"))
[1] 10
> class("5+5")
[1] "character"
> class(parse(text="5+5"))
[1] "expression"
Das Aufrufen eval()
ruft viele Verhaltensweisen hervor, einige sind nicht sofort offensichtlich:
> class(eval(parse(text="5+5")))
[1] "numeric"
> class(eval(parse(text="gray")))
[1] "function"
> class(eval(parse(text="blue")))
Error in eval(expr, envir, enclos) : object 'blue' not found
Siehe auch tryCatch .
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen