sapply() vs. lapply()
lapply() está genial, pero a veces quizá quieras que los datos devueltos tengan una forma más cómoda que una lista. Por ejemplo, con el ratio de Sharpe, ¿no sería estupendo que los ratios resultantes vinieran en un vector en lugar de una lista? ¡Así el análisis posterior sería más sencillo!
Para esto, puedes considerar sapply() (simplify apply). Funciona exactamente como lapply(), pero intentará simplificar la salida cuando pueda. La sintaxis básica es la misma, con algunos argumentos adicionales:
sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
Estos argumentos opcionales adicionales te permiten indicar si quieres que sapply() intente simplificar la salida y si quieres que use los nombres del objeto en el resultado.
En este ejercicio, volverás a calcular los ratios de Sharpe usando sapply() para simplificar la salida. Tienes a tu disposición stock_return y la función sharpe.
Este ejercicio forma parte del curso
R intermedio para finanzas
Instrucciones del ejercicio
- Primero, usa
lapply()sobrestock_returnpara obtener de nuevo el ratio de Sharpe. - Ahora, usa
sapply()sobrestock_returnpara ver la salida simplificada del ratio de Sharpe. - Usa
sapply()sobrestock_returnpara obtener el ratio de Sharpe con los argumentossimplify = FALSEyUSE.NAMES = FALSE. ¡Esto es equivalente alapply()!
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# lapply() on stock_return
___
# sapply() on stock_return
___
# sapply() on stock_return with optional arguments
___