4

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

4

2 回答 2

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. 你到底想做什么?

于 2013-07-25T10:53:12.923 回答
2

您可以通过使用反引号 ` 来创建具有任意名称的函数和变量。

`~` <- `+`
y <- 5
x <- 10
y ~ x
# 15

~不过,除非您不打算进行任何统计建模,否则我不会惹麻烦……

于 2013-07-25T10:24:01.630 回答