R 如何从中缀函数的名称中删除%?

R 如何从中缀函数的名称中删除%?,r,function,infix-notation,R,Function,Infix Notation,是否可以通过R,s.t.定义(+)函数,使其能够在两个参数之间工作 换句话说,我想从以下中缀函数中删除%(但我不能,也不知道如何解决此问题): `%(+)%`用户定义的中缀运算符必须用R中的百分号包围。因此,您的问题的答案是,“您不能”。对不起 从: R允许用户定义的中缀运算符。它们的形式是由“%”字符分隔的字符串。该字符串可以包含“%”以外的任何可打印字符。字符串的转义序列在此不适用 我能想到的唯一选择,都是非常绝望的: 如果x和y被定义为S4类的成员,则您可以 您可以破解R解析器(不推荐!

是否可以通过R,s.t.定义(+)函数,使其能够在两个参数之间工作

换句话说,我想从以下中缀函数中删除
%
(但我不能,也不知道如何解决此问题):


`%(+)%`用户定义的中缀运算符必须用R中的百分号包围。因此,您的问题的答案是,“您不能”。对不起

从:

R允许用户定义的中缀运算符。它们的形式是由“%”字符分隔的字符串。该字符串可以包含“%”以外的任何可打印字符。字符串的转义序列在此不适用

我能想到的唯一选择,都是非常绝望的:

  • 如果
    x
    y
    被定义为S4类的成员,则您可以
  • 您可以破解R解析器(不推荐!),如中所述,有人分叉了R的只读Github镜像来修改解析器(如所述)

用户定义的中缀运算符必须用R中的百分号包围。因此,您的问题的答案是“您不能”。对不起

从:

R允许用户定义的中缀运算符。它们的形式是由“%”字符分隔的字符串。该字符串可以包含“%”以外的任何可打印字符。字符串的转义序列在此不适用

我能想到的唯一选择,都是非常绝望的:

  • 如果
    x
    y
    被定义为S4类的成员,则您可以
  • 您可以破解R解析器(不推荐!),如中所述,有人分叉了R的只读Github镜像来修改解析器(如所述)

我同意Ben Bolker的观点,没有%你就不能定义(+)。但是,如果您希望按照上述方法创建函数,为什么不使用以下方法:

`&`<- function(x, y) { x+(2*y) }
2&3
#Use rm to remove the defined function
rm(`&`) 

`&`我同意Ben Bolker的观点,没有%就不能定义(+)。但是,如果您希望按照上述方法创建函数,为什么不使用以下方法:

`&`<- function(x, y) { x+(2*y) }
2&3
#Use rm to remove the defined function
rm(`&`) 

`&`实际上,您不能根据需求定义+,因为这会导致无限递归错误,因为您正在定义他在实际函数中使用的东西。实际上,您不能根据需求定义+,因为它会导致无限递归错误,因为您正在定义他在实际函数中使用的东西实际功能。