Entradas

Mostrando entradas de abril, 2022

Funciones vectorizadas en R: tapply

Las funciones vectorizadas en R permiten resumir un conjunto de tareas repetitivas, con algún patrón o secuencia común, o aplicar una operación a un conjunto de elementos. En la presente entrada mostramos algunos ejemplos de cómo usar la función tapply en R, esta permite crear variables por alguna condición agrupada, o collapse de base de datos. En primer lugar, generamos una base aleatoria:   set.seed(1)   my_datos <- data.frame(               provincia = sample(c("Ocoa","Azua"), size = 10, replace = TRUE),               ingreso = round(rnorm(10, sd = 30, mean = 100)),               edad = round(rnorm(10, sd = 6, mean = 20))) my_datos     provincia ingreso edad 1        Ocoa       75    20 2        Azua      115    20 3        Ocoa      122    26 4        Ocoa      117    25 5        Azua       91    24 6        Ocoa      145    26 7        Ocoa      112    25 8        Ocoa       81    20 9        Azua       34      8 10       Azua      134    24

Aplicaciones de la función Rollaplay (de R) en la econometría financiera

Imagen
  1.        Lógica detrás de la función La función crea una ventana móvil sobre la cual va calculando algo (mediante una función) y posteriormente podemos obtener información histórica sobre ese cálculo. Imaginemos que todos los días calculáramos la varianza del precio del arroz, si lo hacemos todos los días y vamos guardando este precio, terminaremos teniendo una serie promedio de precios del arroz. Ahora, si tenemos información de 10 años necesitamos repetir esta operación para cada día dentro de la muestra de datos, es aquí donde surge la importancia de esta función.   Supongamos, tenemos el vector x=(x1,x2,x3,x4,x5) , podemos obtener un promedio móvil usando una ventada de tres días. Note que la ventana de datos móvil que va utilizando el programa va dejando una observación detrás y tomando la observación siguiente (en caso de solo ir tomando una observación adicional, partiendo siempre desde la primera observación, se llaman datos recursivos). Los datos vacios pueden omitirse

Ejemplos de funciones de impulso respuesta (ifr) usando VARS y ggplot2 en R

Imagen
En esta primera parte usamos la función across para calcular las tasas de crecimiento de todas las variables en la base de datos. Usamos los datos de EuStockMarkets disponible en R ( data() ). Esto se hace porque recuerden que el VAR solo se estima con variables estacionarias, por lo que, un análisis formar requeriría hacer test sobre las variables que usaríamos. Posteriormente, una vez seleccionada la serie que vamos a utilizar ( var_data ), usamos el paquete VARS para tres cuestiones puntuales:   1.   VARselect identifica el orden del VAR , es decir, la cantidad a retardos utilizar en el VAR. 2.   VAR es la función que nos permite estimar el VAR . 3.   Irf nos permite obtener los datos asociados a la función impulso respuesta. #ifr in R data <- EuStockMarkets  %>%   data.frame() %>%   mutate(across(is.numeric, ~((./dplyr::lag(.)-1)*100))) %>%   na.omit()   # var var_data <- data.frame(x=EuStockMarkets[,"DAX"],y=EuStockMarkets[,"FTSE"])