es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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)
Tags:  , , ,

Answer

  1. Avatar for 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ón get(.), el punto se reemplaza por cada símbolo en symbols, 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 de purrr. Toma el símbolo generado por get() y lo pasa a la función getSymbols() del paquete quantmod con el argumento Ad(), devolviendo los datos de precios diarios ajustados para ese símbolo. Finalmente, la función map() aplica esta función a cada elemento de la lista symbols.

    Por lo tanto, el código recupera los datos de precios diarios ajustados para cada símbolo de acciones en symbols utilizando la función getSymbols(), y luego extrae la columna de precio ajustado para cada uno de ellos mediante la aplicación de map(~Ad(get(.))).

Comments are closed.