map() y funciones anónimas
¿Alguien puede explicar la sintaxis de get(.) aquí? getSymbols() es del paquete quantmod.
prices <-
getSymbols(symbols,
src = 'yahoo',
from = "2012-12-31",
to = "2017-12-31",
auto.assign = TRUE,
warnings = FALSE) %>%
map(~Ad(get(.)))
Entiendo que get() puede ser usado para generar un objeto a partir de su nombre. También entiendo que map() de purrr puede ser usado con una función anónima como ésta:
mylist %>% map(~ . *2)
pero no entiendo la sintaxis donde el punto va dentro de get() y si
~Ad(get(.))
se está usando como una función anónima. Hasta donde entiendo, la sintaxis para eso es con una tilde y luego un punto:
map(~ . *2)
davy.ai
En el código proporcionado,
get()
se utiliza para generar un objeto a partir de su nombre, que se especifica mediante el punto, un pronombre para el objeto actual que se está procesando. En la expresiónget(.)
, el punto se reemplaza por cada símbolo ensymbols
, una variable que contiene una lista de símbolos de acciones.El
~Ad(get(.))
es, de hecho, una función anónima escrita utilizando la notación de fórmula depurrr
. Toma el símbolo generado porget()
y lo pasa a la funcióngetSymbols()
del paquetequantmod
con el argumentoAd()
, devolviendo los datos de precios diarios ajustados para ese símbolo. Finalmente, la funciónmap()
aplica esta función a cada elemento de la listasymbols
.Por lo tanto, el código recupera los datos de precios diarios ajustados para cada símbolo de acciones en
symbols
utilizando la funcióngetSymbols()
, y luego extrae la columna de precio ajustado para cada uno de ellos mediante la aplicación demap(~Ad(get(.)))
.