Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library("gWidgets")
- library("DBI")
- library("RMySQL")
- library("dbConnect")
- library("forecast")
- library("doParallel")
- cl <- makeCluster(7)
- registerDoParallel(cl)
- tictoc::tic()
- con=dbConnect(MySQL(),user='***',password='***',dbname='demo',host='***')
- dbListTables(con)
- myQuery<-"select * from consumo_mysql"
- DF<-dbGetQuery(con,myQuery)
- df<-DF[DF$ANIO<2016,]
- a<-unique(df$CODIGO_HOSPITAL)
- for (i in 1:length(a)){
- codigo_cas<-df$CODIGO_HOSPITAL[i]
- #myQuery2<-paste("select * from consumo_mysql where CODIGO_HOSPITAL='",codigo_cas,"'",sep='')
- #df2<-dbGetQuery(con,myQuery2)
- df2<-df[df$CODIGO_HOSPITAL==codigo_cas,]
- b<-unique(df$CODIGO)
- bb<-length(b)
- foreach(j=1:bb) %dopar% {
- c_p<-df$CODIGO[j]
- df3<-df[df$CODIGO==c_p,]
- df3<-df3[with(df3, order(ANIO, MES)), ]
- aux<-DF[DF$CODIGO_HOSPITAL==codigo_cas,]
- aux<-aux[aux$CODIGO==c_p,]
- cc<-dim(aux)
- ###comensar if
- if(cc[1]==36){
- DATAY<-ts(df3$CONSUMO_REAL)
- mdl <- nnetar(DATAY,lambda=0)
- proyeccion<-forecast(mdl,h=12)
- proyeccion<-data.frame(proyeccion)
- proyeccion<-proyeccion$Point.Forecast
- act<-paste("update consumo_mysql set CONSUMO_FORECAST=",proyeccion[1]," where CODIGO_HOSPITAL ='",codigo_cas,"'","and CODIGO =",c_p,sep=''," and ANIO =",2016," and MES =",1)
- act<-dbSendQuery(con,act)
- dbFetch(act)
- dbClearResult(act)
- aux<-aux[with(aux, order(ANIO, MES)), ]
- lp=1;
- for(k in 1:11){
- p<-25+k
- lp<-lp+1;
- DATAY=ts(aux$CONSUMO_REAL[1:p])
- mdl <- nnetar(DATAY,lambda=0)
- proyeccion2<-forecast(mdl,h=1)
- proyeccion2<-data.frame(proyeccion2)
- proyeccion2<-proyeccion2$Point.Forecast
- proyeccion[k+1]<-proyeccion2[1]
- act<-paste("update consumo_mysql set CONSUMO_FORECAST=",proyeccion2[1]," where CODIGO_HOSPITAL ='",codigo_cas,"'","and CODIGO =",c_p,sep=''," and ANIO =",2016," and MES =",lp)
- act<-dbSendQuery(con,act)
- dbFetch(act)
- dbClearResult(act)
- }
- }#fin del if
- }#fin del sefundo if
- }#fin del primer bucle
- dbDisconnect(con)
- tictoc::toc()
- stopCluster(cl)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement