zu unterdrücken Ich versuche, eine Infix-Funktion% ~% zu definieren, die ein Zeichen auf der linken Seite und einen Ausdruck auf der rechten Seite und ein verkettetes Formelobjekt zurückgibt. Also was ich will "y" %~% x + z
zurückgeben y ~ x + z
.Wie arithmetische Operatoren in einer Formel in R
Allerdings funktioniert meine Funktion (unten) nicht die +
als symbolische Formeloperator verwenden und stattdessen einen arithmetischen Operator. Natürlich, die ~
Infix-Funktion erreicht dies, aber es ist eine primitive Funktion, so dass ich (glaube ich) kann nicht den Code wischen, und ich weiß nicht, wie es in die Funktionsdefinition zu integrieren, um meine gewünschten Ergebnisse zu erreichen.
`%~%` <- function(x, y) {
y <- deparse(substitute(y))
formula(paste(x, "~", y)
}
Eine Lösung ist es, die ~
Operator verwenden beim Aufruf der Funktion:
"y" %~%~ x + z
aber ich frage mich, ob es einen Weg gibt, die Auswertung von +
als arithmetischer Operator zu verhindern die Funktionsdefinition, so dass ich einfach %~%
verwenden kann.