convert time to seconds. start from df and end up with ordered_cgs


#read from csv iqor data
#df=read.csv("geniqor.csv")

#source("callgroupAttacher.R")
source("PcounterEpochOpt.R")

cgs=cbind(df$calltime, df$cg)
cgs=as.data.frame(cgs)

cgs[,1]=as.POSIXct(cgs[,1])
#cgs[,1]=as.numeric(cgs[,1])


ordered_cgs=cgs[order(cgs$V1),]
#remove(df)
remove(cgs)

ordered_cgs[,1]=(ordered_cgs[,1]-ordered_cgs[1,1])

ordering callgroups

#here we start from ordered_cgs
source("PcounterEpochOpt.R")
callgroups=unique(ordered_cgs[,2])
#callgroups=unique(ordered_cgs[,2])[[1]] ins ome cases


cg=list()

for (j in 1:length(callgroups))
{
  cg[[j]]=ordered_cgs[ordered_cgs$V2==callgroups[j],]
}

cg is a list of all callgroups with seconds.

source("PcounterEpochOpt_simp.R")
source("PcounterEpochOpt.R")
sigm=0.1
time_rates=list()
min_len=Inf
for (j in 1:length(callgroups))
{
  print(j)
  time_rates[[j]]=PcounterEpochOpt_simp(350,cg[[j]]$V1, 7, 30, 0.1, 0.15)[,c(1,5)]
#  time_rates[[j]]=PcounterEpochOpt(350,cg[[j]]$V1, 7, 100, 0.1)[,c(1,5)]
  plot(time_rates[[j]], type='l', col='red')
  min_len=min(length(time_rates[[j]][,1]),min_len)
  print(min_len)
}
[1] 1
[1] 10294
[1] 2

[1] 10214
[1] 3

[1] 10214
[1] 4

[1] 10214

print(paste(min_len," is the final min"))
[1] "10214  is the final min"
for (j in 1:length(callgroups))
{
  time_rates[[j]]=time_rates[[j]][(1:min_len),]
  time_rates[[j]][time_rates[[j]][,2]==0,2]=1 # so zero rates are set to 1
}
#all_rates should have rates for each callgroup
all_rates=time_rates[[1]][,1] #the first column has all the times
for (j in 1:length(callgroups))
{
  all_rates=cbind(all_rates,time_rates[[j]][,2])#and then rate for each callgroup attached as a #column
}
all_bw=cbind(all_rates[,1],all_rates[,-1]/apply(all_rates[,-1],1,sum)) #we get all bandwidths from rates for cgs
for (qq in 1:(length(all_bw[1,])-1)) #attach the rate for all arrival
{
 
  print(qq) 
  interval_idx=findInterval(cg[[qq]][,1],all_bw[,1])
  interval_idx[interval_idx==0]=1
  
  cg[[qq]]=cbind(cg[[qq]],all_bw[interval_idx,-1])
}
[1] 1
[1] 2
[1] 3
[1] 4
sds=vector()
for (oi in 1:5)
{
  cum_sum=list()
  cg_arr_cgname_max_bw=list()
  cp_vec=data.frame()
  count_vec=rep(0,10)
  
  for (ww in 1:(length(all_bw[1,])-1))
  {
    
  cum_sum[[ww]]=cbind(cg[[ww]][,c(1,2)],t(apply(cg[[ww]][,c(-1,-2)],1,cumsum)))
  cg_arr_cgname_max_bw[[ww]]=cbind(cg[[ww]][,c(1,2)],cg[[ww]][,ww+2],cum_sum[[ww]][,ww+2])
  
  
  
  for (o in 1:length(cg_arr_cgname_max_bw[[ww]][,1]))
  {
    minbw=cg_arr_cgname_max_bw[[ww]][o,4]-cg_arr_cgname_max_bw[[ww]][o,3]
    maxbw=cg_arr_cgname_max_bw[[ww]][o,4]
    
    cg_arr_cgname_max_bw[[ww]]$cp[o]=
    runif(1, minbw, maxbw)
  
  
  }
  
  cp_vec=rbind(cg_arr_cgname_max_bw[[ww]][,c(1,5)],cp_vec)
  
  }
  
  kkk=hist(cp_vec[,2],10)
  sds[oi]=sd(kkk$counts)
  #hist(cp_vec[cp_vec[,1]<18000,2],5)
}

mean(sds)
[1] 90.79958
source("decscore.R")
rt=list()
for (h in 1:length(cg_arr_cgname_max_bw))
{
  ff=rep(0,length(cg_arr_cgname_max_bw[[h]][,1]))
  ff=as.data.frame(ff)
  ff$V1 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0  ,0.1))
  ff$V2 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.1,0.2))
  ff$V3 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.2,0.3))
  ff$V4 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.3,0.4))
  ff$V5 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.4,0.5))
  ff$V6 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.5,0.6))
  ff$V7 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.6,0.7))
  ff$V8 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.7,0.8))
  ff$V9 =apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.8,0.9))
  ff$V10=apply(cg_arr_cgname_max_bw[[h]], 1, function(x) decscore((as.numeric(x[4])-as.numeric(x[3])),x[4],0.9,  1))
  rt[[h]]=ff
}
bw_vec=rep(0,11)  
for (h in 1:length(cg_arr_cgname_max_bw))
{
 bw_vec=bw_vec+apply(rt[[h]],2,sum)
}
  
sd(bw_vec[2:11])
[1] 85.95959
plot(bw_vec[2:11])

LS0tDQp0aXRsZTogInRlc3Rpbmcgb24gcmVhbCBkYXRhISBJUU9SLTg3NSB0cmVlIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KY29udmVydCB0aW1lIHRvIHNlY29uZHMuIHN0YXJ0IGZyb20gZGYgYW5kIGVuZCB1cCB3aXRoIG9yZGVyZWRfY2dzDQpgYGB7cn0NCg0KI3JlYWQgZnJvbSBjc3YgaXFvciBkYXRhDQojZGY9cmVhZC5jc3YoImdlbmlxb3IuY3N2IikNCg0KI3NvdXJjZSgiY2FsbGdyb3VwQXR0YWNoZXIuUiIpDQpzb3VyY2UoIlBjb3VudGVyRXBvY2hPcHQuUiIpDQoNCmNncz1jYmluZChkZiRjYWxsdGltZSwgZGYkY2cpDQpjZ3M9YXMuZGF0YS5mcmFtZShjZ3MpDQoNCmNnc1ssMV09YXMuUE9TSVhjdChjZ3NbLDFdKQ0KI2Nnc1ssMV09YXMubnVtZXJpYyhjZ3NbLDFdKQ0KDQoNCm9yZGVyZWRfY2dzPWNnc1tvcmRlcihjZ3MkVjEpLF0NCiNyZW1vdmUoZGYpDQpyZW1vdmUoY2dzKQ0KDQpvcmRlcmVkX2Nnc1ssMV09KG9yZGVyZWRfY2dzWywxXS1vcmRlcmVkX2Nnc1sxLDFdKQ0KDQoNCg0KYGBgDQoNCg0Kb3JkZXJpbmcgY2FsbGdyb3Vwcw0KYGBge3J9DQojaGVyZSB3ZSBzdGFydCBmcm9tIG9yZGVyZWRfY2dzDQpzb3VyY2UoIlBjb3VudGVyRXBvY2hPcHQuUiIpDQpjYWxsZ3JvdXBzPXVuaXF1ZShvcmRlcmVkX2Nnc1ssMl0pDQojY2FsbGdyb3Vwcz11bmlxdWUob3JkZXJlZF9jZ3NbLDJdKVtbMV1dIGlucyBvbWUgY2FzZXMNCg0KYGBgDQoNCg0KDQoNCmBgYHtyfQ0KDQoNCmNnPWxpc3QoKQ0KDQpmb3IgKGogaW4gMTpsZW5ndGgoY2FsbGdyb3VwcykpDQp7DQogIGNnW1tqXV09b3JkZXJlZF9jZ3Nbb3JkZXJlZF9jZ3MkVjI9PWNhbGxncm91cHNbal0sXQ0KfQ0KYGBgDQoNCg0KY2cgaXMgYSBsaXN0IG9mIGFsbCBjYWxsZ3JvdXBzIHdpdGggc2Vjb25kcy4NCg0KYGBge3J9DQpzb3VyY2UoIlBjb3VudGVyRXBvY2hPcHRfc2ltcC5SIikNCnNvdXJjZSgiUGNvdW50ZXJFcG9jaE9wdC5SIikNCg0Kc2lnbT0wLjENCg0KdGltZV9yYXRlcz1saXN0KCkNCm1pbl9sZW49SW5mDQoNCmZvciAoaiBpbiAxOmxlbmd0aChjYWxsZ3JvdXBzKSkNCnsNCiAgcHJpbnQoaikNCiAgdGltZV9yYXRlc1tbal1dPVBjb3VudGVyRXBvY2hPcHRfc2ltcCgzNTAsY2dbW2pdXSRWMSwgNywgMzAsIDAuMSwgMC4xNSlbLGMoMSw1KV0NCiMgIHRpbWVfcmF0ZXNbW2pdXT1QY291bnRlckVwb2NoT3B0KDM1MCxjZ1tbal1dJFYxLCA3LCAxMDAsIDAuMSlbLGMoMSw1KV0NCiAgcGxvdCh0aW1lX3JhdGVzW1tqXV0sIHR5cGU9J2wnLCBjb2w9J3JlZCcpDQogIG1pbl9sZW49bWluKGxlbmd0aCh0aW1lX3JhdGVzW1tqXV1bLDFdKSxtaW5fbGVuKQ0KICBwcmludChtaW5fbGVuKQ0KfQ0KDQpwcmludChwYXN0ZShtaW5fbGVuLCIgaXMgdGhlIGZpbmFsIG1pbiIpKQ0KDQpmb3IgKGogaW4gMTpsZW5ndGgoY2FsbGdyb3VwcykpDQp7DQogIHRpbWVfcmF0ZXNbW2pdXT10aW1lX3JhdGVzW1tqXV1bKDE6bWluX2xlbiksXQ0KICB0aW1lX3JhdGVzW1tqXV1bdGltZV9yYXRlc1tbal1dWywyXT09MCwyXT0xICMgc28gemVybyByYXRlcyBhcmUgc2V0IHRvIDENCn0NCg0KDQpgYGANCg0KDQpgYGB7cn0NCiNhbGxfcmF0ZXMgc2hvdWxkIGhhdmUgcmF0ZXMgZm9yIGVhY2ggY2FsbGdyb3VwDQoNCmFsbF9yYXRlcz10aW1lX3JhdGVzW1sxXV1bLDFdICN0aGUgZmlyc3QgY29sdW1uIGhhcyBhbGwgdGhlIHRpbWVzDQpmb3IgKGogaW4gMTpsZW5ndGgoY2FsbGdyb3VwcykpDQp7DQogIGFsbF9yYXRlcz1jYmluZChhbGxfcmF0ZXMsdGltZV9yYXRlc1tbal1dWywyXSkjYW5kIHRoZW4gcmF0ZSBmb3IgZWFjaCBjYWxsZ3JvdXAgYXR0YWNoZWQgYXMgYSAjY29sdW1uDQp9DQoNCmFsbF9idz1jYmluZChhbGxfcmF0ZXNbLDFdLGFsbF9yYXRlc1ssLTFdL2FwcGx5KGFsbF9yYXRlc1ssLTFdLDEsc3VtKSkgI3dlIGdldCBhbGwgYmFuZHdpZHRocyBmcm9tIHJhdGVzIGZvciBjZ3MNCg0KZm9yIChxcSBpbiAxOihsZW5ndGgoYWxsX2J3WzEsXSktMSkpICNhdHRhY2ggdGhlIHJhdGUgZm9yIGFsbCBhcnJpdmFsDQp7DQogDQogIHByaW50KHFxKSANCiAgaW50ZXJ2YWxfaWR4PWZpbmRJbnRlcnZhbChjZ1tbcXFdXVssMV0sYWxsX2J3WywxXSkNCiAgaW50ZXJ2YWxfaWR4W2ludGVydmFsX2lkeD09MF09MQ0KICANCiAgY2dbW3FxXV09Y2JpbmQoY2dbW3FxXV0sYWxsX2J3W2ludGVydmFsX2lkeCwtMV0pDQoNCn0NCg0KYGBgDQoNCg0KDQoNCmBgYHtyfQ0Kc2RzPXZlY3RvcigpDQpmb3IgKG9pIGluIDE6NSkNCnsNCiAgY3VtX3N1bT1saXN0KCkNCiAgY2dfYXJyX2NnbmFtZV9tYXhfYnc9bGlzdCgpDQogIGNwX3ZlYz1kYXRhLmZyYW1lKCkNCiAgY291bnRfdmVjPXJlcCgwLDEwKQ0KICANCiAgZm9yICh3dyBpbiAxOihsZW5ndGgoYWxsX2J3WzEsXSktMSkpDQogIHsNCiAgICANCiAgY3VtX3N1bVtbd3ddXT1jYmluZChjZ1tbd3ddXVssYygxLDIpXSx0KGFwcGx5KGNnW1t3d11dWyxjKC0xLC0yKV0sMSxjdW1zdW0pKSkNCiAgY2dfYXJyX2NnbmFtZV9tYXhfYndbW3d3XV09Y2JpbmQoY2dbW3d3XV1bLGMoMSwyKV0sY2dbW3d3XV1bLHd3KzJdLGN1bV9zdW1bW3d3XV1bLHd3KzJdKQ0KICANCiAgDQogIA0KICBmb3IgKG8gaW4gMTpsZW5ndGgoY2dfYXJyX2NnbmFtZV9tYXhfYndbW3d3XV1bLDFdKSkNCiAgew0KICAgIG1pbmJ3PWNnX2Fycl9jZ25hbWVfbWF4X2J3W1t3d11dW28sNF0tY2dfYXJyX2NnbmFtZV9tYXhfYndbW3d3XV1bbywzXQ0KICAgIG1heGJ3PWNnX2Fycl9jZ25hbWVfbWF4X2J3W1t3d11dW28sNF0NCiAgICANCiAgICBjZ19hcnJfY2duYW1lX21heF9id1tbd3ddXSRjcFtvXT0NCiAgICBydW5pZigxLCBtaW5idywgbWF4YncpDQogIA0KICANCiAgfQ0KICANCiAgY3BfdmVjPXJiaW5kKGNnX2Fycl9jZ25hbWVfbWF4X2J3W1t3d11dWyxjKDEsNSldLGNwX3ZlYykNCiAgDQogIH0NCiAgDQogIGtraz1oaXN0KGNwX3ZlY1ssMl0sMTApDQogIHNkc1tvaV09c2Qoa2trJGNvdW50cykNCiAgI2hpc3QoY3BfdmVjW2NwX3ZlY1ssMV08MTgwMDAsMl0sNSkNCn0NCm1lYW4oc2RzKQ0KYGBgDQoNCmBgYHtyfQ0KDQpzb3VyY2UoImRlY3Njb3JlLlIiKQ0KcnQ9bGlzdCgpDQoNCmZvciAoaCBpbiAxOmxlbmd0aChjZ19hcnJfY2duYW1lX21heF9idykpDQp7DQogIGZmPXJlcCgwLGxlbmd0aChjZ19hcnJfY2duYW1lX21heF9id1tbaF1dWywxXSkpDQogIGZmPWFzLmRhdGEuZnJhbWUoZmYpDQogIGZmJFYxID1hcHBseShjZ19hcnJfY2duYW1lX21heF9id1tbaF1dLCAxLCBmdW5jdGlvbih4KSBkZWNzY29yZSgoYXMubnVtZXJpYyh4WzRdKS1hcy5udW1lcmljKHhbM10pKSx4WzRdLDAgICwwLjEpKQ0KICBmZiRWMiA9YXBwbHkoY2dfYXJyX2NnbmFtZV9tYXhfYndbW2hdXSwgMSwgZnVuY3Rpb24oeCkgZGVjc2NvcmUoKGFzLm51bWVyaWMoeFs0XSktYXMubnVtZXJpYyh4WzNdKSkseFs0XSwwLjEsMC4yKSkNCiAgZmYkVjMgPWFwcGx5KGNnX2Fycl9jZ25hbWVfbWF4X2J3W1toXV0sIDEsIGZ1bmN0aW9uKHgpIGRlY3Njb3JlKChhcy5udW1lcmljKHhbNF0pLWFzLm51bWVyaWMoeFszXSkpLHhbNF0sMC4yLDAuMykpDQogIGZmJFY0ID1hcHBseShjZ19hcnJfY2duYW1lX21heF9id1tbaF1dLCAxLCBmdW5jdGlvbih4KSBkZWNzY29yZSgoYXMubnVtZXJpYyh4WzRdKS1hcy5udW1lcmljKHhbM10pKSx4WzRdLDAuMywwLjQpKQ0KICBmZiRWNSA9YXBwbHkoY2dfYXJyX2NnbmFtZV9tYXhfYndbW2hdXSwgMSwgZnVuY3Rpb24oeCkgZGVjc2NvcmUoKGFzLm51bWVyaWMoeFs0XSktYXMubnVtZXJpYyh4WzNdKSkseFs0XSwwLjQsMC41KSkNCiAgZmYkVjYgPWFwcGx5KGNnX2Fycl9jZ25hbWVfbWF4X2J3W1toXV0sIDEsIGZ1bmN0aW9uKHgpIGRlY3Njb3JlKChhcy5udW1lcmljKHhbNF0pLWFzLm51bWVyaWMoeFszXSkpLHhbNF0sMC41LDAuNikpDQogIGZmJFY3ID1hcHBseShjZ19hcnJfY2duYW1lX21heF9id1tbaF1dLCAxLCBmdW5jdGlvbih4KSBkZWNzY29yZSgoYXMubnVtZXJpYyh4WzRdKS1hcy5udW1lcmljKHhbM10pKSx4WzRdLDAuNiwwLjcpKQ0KICBmZiRWOCA9YXBwbHkoY2dfYXJyX2NnbmFtZV9tYXhfYndbW2hdXSwgMSwgZnVuY3Rpb24oeCkgZGVjc2NvcmUoKGFzLm51bWVyaWMoeFs0XSktYXMubnVtZXJpYyh4WzNdKSkseFs0XSwwLjcsMC44KSkNCiAgZmYkVjkgPWFwcGx5KGNnX2Fycl9jZ25hbWVfbWF4X2J3W1toXV0sIDEsIGZ1bmN0aW9uKHgpIGRlY3Njb3JlKChhcy5udW1lcmljKHhbNF0pLWFzLm51bWVyaWMoeFszXSkpLHhbNF0sMC44LDAuOSkpDQogIGZmJFYxMD1hcHBseShjZ19hcnJfY2duYW1lX21heF9id1tbaF1dLCAxLCBmdW5jdGlvbih4KSBkZWNzY29yZSgoYXMubnVtZXJpYyh4WzRdKS1hcy5udW1lcmljKHhbM10pKSx4WzRdLDAuOSwgIDEpKQ0KICBydFtbaF1dPWZmDQp9DQoNCg0KYndfdmVjPXJlcCgwLDExKSAgDQpmb3IgKGggaW4gMTpsZW5ndGgoY2dfYXJyX2NnbmFtZV9tYXhfYncpKQ0Kew0KIGJ3X3ZlYz1id192ZWMrYXBwbHkocnRbW2hdXSwyLHN1bSkNCn0NCiAgDQpzZChid192ZWNbMjoxMV0pDQpwbG90KGJ3X3ZlY1syOjExXSkNCmBgYA0KDQo=