如何使用符号创建函数或运算符?

时间:2013-07-25 10:08:20

标签: r function

我想创建一个带符号的函数(例如,~),它与“问号”函数的工作方式类似。

2 个答案:

答案 0 :(得分:6)

如果不弄乱定义R语法的C代码,就不能像?foo那样“裸露”。例如,你不能让[fnord有意义。

这来自R源代码中gram.y的语法定义。

|   '~' expr %prec TILDE        { $$ = xxunary($1,$2); }
|   '?' expr            { $$ = xxunary($1,$2); }

|   expr ':'  expr          { $$ = xxbinary($2,$1,$3); }
|   expr '+'  expr          { $$ = xxbinary($2,$1,$3); }

上面的第二行定义了?foo的语法。你究竟想做什么?

答案 1 :(得分:2)

您可以使用反引号`。

创建具有任意名称的函数和变量
`~` <- `+`
y <- 5
x <- 10
y ~ x
# 15

我不会惹恼~,除非你不打算做任何统计建模....