8 函数运算符
8.1 缓存
缓存问题是计算机科学以内存换速度的典型例子
memoise::memoise()
函数将括号内包裹的函数每次计算结果保存起来,从而在如果需要进行多次迭代运算的情况下,计算速度更快,因为不需要重复计算了
8.2 惰性
在R中不需要的参数是不会被计算的
在这个例子中,f(2)
是可以计算出结果不报错的,只有在x < 0时,此时需要参数y,才会报错。
8.4 改变输入类型
这不会带来什么性能上的提升
base::Vectorize()
将一个标量函数转换成一个向量函数plyr::splat()
将接受多个参数的函数转换成只接受一个参数列表的函数plyr::colwise()
将向量函数转换成处理数据框的函数