Функции Vectorize()
и apply()
в R
часто можно использовать для достижения одной и той же цели. Обычно я предпочитаю векторизовать функцию из соображений удобочитаемости, потому что основная вызывающая функция связана с текущей задачей, а sapply
— нет. Это также полезно для Vectorize()
, когда я собираюсь использовать эту векторизованную функцию несколько раз в моем коде R. Например:
a <- 100
b <- 200
c <- 300
varnames <- c('a', 'b', 'c')
getv <- Vectorize(get)
getv(varnames)
vs
sapply(varnames, get)
Однако, по крайней мере, на SO я редко вижу примеры с Vectorize()
в решении, только apply()
(или один из его братьев и сестер). Есть ли какие-либо проблемы с эффективностью или другие обоснованные опасения по поводу Vectorize()
, которые делают apply()
лучшим вариантом?
Vectorize
... - person David Arenburg   schedule 01.08.2014Vectorize()
— это просто оболочка дляmapply()
. - person andrew   schedule 01.08.2014mget()
, можете ли вы переписать его с помощью лучшего примера? - person smci   schedule 28.05.2018