我可以为变量分配运算符吗?

时间:2011-08-02 19:28:37

标签: r

在R中,是否可以将运算符赋给变量或其他允许变量用作运算符的构造?在我的情况下,我想要一些代码使用foreach包中的%do%或%dopar%运算符(取决于用户是否需要并行计算)。要执行的代码块保持不变,它只是变量的运算符。

2 个答案:

答案 0 :(得分:5)

这称为运算符重载,这是一个简单的例子:

"%do%" <- function(a, b){
  if(do_plus){
    a + b
  } else {
    a - b
  }
}

do_plus <- TRUE

3 %do% 4
[1] 7

do_plus <- FALSE

3 %do% 4
[1] -1

答案 1 :(得分:5)

你问的是错误的问题。如果您没有并行运行,只需使用%dopar%并致电registerDoSEQ即可。使用%dopar%时,代码不会更改,只需后端即可。