首页 > 解决方案 > 在 R 中编写输出取决于参数的函数的最佳方法是什么?

问题描述

我想编写一个计算英国所得税的函数,可能在一个包内。精确的公式每年都会定期更改,但不是每次更改时都编写一个新函数,而是我想使用一个参数“年份”来控制函数的行为。例如:

income_tax(x = '25000', year = '2019/20')

其中 x 是收入向量,年份指定要应用的税收规则。

考虑到每年的公式可能非常复杂,并且每年都会添加新的更新,组织和管理此功能的最佳方法是什么?

有没有面向对象的解决方案?还是在内部编写每年的内部函数,并在 main 函数中编写一些 if/else 逻辑?

标签: rfunction

解决方案


在 R 中,您可以传递表达式(或其中的一部分),就像数字和字符串一样,这意味着它们可以作为参数部署在函数调用中。最有可能的是,函数 expression() 可能适合您的需要。


推荐阅读