R
中的Vectorize()
和apply()
函数通常可以用来实现同样的目标。出于可读性的原因,我通常更喜欢对函数进行向量化处理,因为主调用函数与手头的任务相关,而sapply
则不是这样。当我在R代码中多次使用该向量化函数时,使用Vectorize()
也很有用。例如:
a <- 100
b <- 200
c <- 300
varnames <- c('a', 'b', 'c')
getv <- Vectorize(get)
getv(varnames)
对抗
sapply(varnames, get)
但是,在 Stack Overflow 上,我很少看到解决方案中使用 Vectorize()
的示例,仅使用 apply()
(或其兄弟姐妹之一)。是否存在任何效率问题或其他合法的问题,使得 apply()
成为更好的选择,而不是使用 Vectorize()
?
Vectorize
存在一个问题了... - David ArenburgVectorize()
似乎只是mapply()
的一个包装器。 - andrew