This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
/* datos ya ordenados por cliente y mes */ proc sort data=work.depositos_all; by cod_ident mes_corte; run;
/* calcular volatilidad rolling 60 meses */ data work.depositos_vol; set work.depositos_all; by cod_ident;
retain n 0 sumx 0 sumx2 0;
array buffer[60] _temporary_;
/* reiniciar al cambiar cliente */
if first.cod_ident then do;
call missing(of buffer[*]);
n=0; sumx=0; sumx2=0;
end;
/* posición en buffer circular */
idx = mod(n,60) + 1;
/* si buffer lleno, quitar valor antiguo */
if n >= 60 then do;
old = buffer[idx];
sumx = sumx - old;
sumx2 = sumx2 - old*old;
end;
/* guardar nuevo valor */
buffer[idx] = saldo_mes;
sumx + saldo_mes;
sumx2 + saldo_mes*saldo_mes;
n+1;
/* calcular desviación estándar cuando hay 60 meses */
if n >= 60 then do;
media = sumx/60;
volatilidad_del_saldo = sqrt((sumx2 - 60*media*media)/(59));
end;
else volatilidad_del_saldo = .;
run;