【发布时间】:2014-05-06 13:56:47
【问题描述】:
给定一个函数向量(实际上是一个列表):
fs = c(sin, cos, tan)
和一个值向量:
xs = c(.1, .3, .5)
对于每个向量元素是否有更好/更整洁/更快/更强的计算fs[[i]](xs[i])的方法:
vapply(1:3, FUN.VALUE = 1 ,function(i){fs[[i]](xs[i])})
[1] 0.09983342 0.95533649 0.54630249
或者我在某处缺少fapply 函数?这些函数将始终是单个标量值并返回单个标量值的函数。
【问题讨论】:
-
function(fun, ...) fun(...)没有捷径一直困扰着我(do.call很接近但不是。)R 的基本包需要一个恕我直言。 -
缺少
map、zip和combine函数(又名 Haskell)一直困扰着我。 -
Funcall <- function(f, ...) f(...)...来自?Map
标签: r