Vectorize()
和中的函数apply()
通常R
可以用来实现相同的目标。出于可读性的原因,我通常更喜欢向量化函数,因为主调用函数与手头的任务相关,而与手头的任务sapply
无关。Vectorize()
当我要在我的 R 代码中多次使用该矢量化函数时,它也很有用。例如:
a <- 100
b <- 200
c <- 300
varnames <- c('a', 'b', 'c')
getv <- Vectorize(get)
getv(varnames)
对比
sapply(varnames, get)
但是,至少在 SO 我很少看到Vectorize()
解决方案中的示例,只有apply()
(或其中一个兄弟姐妹)。是否存在任何效率问题或其他合理的担忧,Vectorize()
这是apply()
一个更好的选择?