diff options
Diffstat (limited to 'analysis/days.R')
| -rw-r--r-- | analysis/days.R | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/analysis/days.R b/analysis/days.R index fa706f6..5f87555 100644 --- a/analysis/days.R +++ b/analysis/days.R @@ -202,23 +202,27 @@ data_seed_energy=rbind(data_seed, data_seed%>%mutate(seed=seed+600)) # Almost same as if each experiment run 4 times more seed seed ## Compute the cumulative energy of each policies in each configuration accross the 4*200 days data_seed_energy=data_seed_energy%>%group_by(wireless,wakeupfor,simkey)%>%mutate(energy=cumsum(energy),setup=paste0(wireless," ",wakeupfor,"s"),days=seed) +## Now sum coverage of each 3 days (like in the energy data frame) +data_seed_energy=data_seed_energy%>%group_by(wireless,wakeupfor,simkey)%>%mutate(grp=ceiling(days/3))%>%group_by(wireless,wakeupfor,simkey,grp)%>%mutate(coverage=cumsum(coverage))%>%filter(days%%3==0) ## Now filter the data data_seed_energy=data_seed_energy%>%filter(days %in% !!energy$days) ## Compute the delta data energy_coverage_delta=data_seed_energy%>% full_join(energy,by=c("days","wireless","wakeupfor"),suffix=c("","_training")) -energy_coverage_delta=energy_coverage_delta%>%group_by(wireless,wakeupfor)%>%summarize(delta_energy=energy-energy_training,simkey=simkey,days=days,delta_coverage=(coverage-coverage_training)/3) # delta_coverage divide by 3 because we want the average per day (coverage is measure every 3 days (round-robin of 3 policies)) +energy_coverage_delta=energy_coverage_delta%>%group_by(wireless,wakeupfor)%>%summarize(delta_energy=energy-energy_training,simkey=simkey,days=days,delta_coverage=(coverage-coverage_training)/3,coverage=coverage/3,coverage_training=coverage_training/3) # delta_coverage divide by 3 because we want the average per day (coverage is measure every 3 days (round-robin of 3 policies)) -write("wireless,wakeupfor,policy,slope,intercept,delta_coverage","figures/delta_energy_coverage.csv") +write("wireless,wakeupfor,policy,slope,intercept,delta_coverage,coverage,coverage_training,latex","figures/delta_energy_coverage.csv") energy_coverage_delta%>%group_by(wireless,wakeupfor,simkey)%>%group_walk(function(data,grp){ grp=as.list(grp) reg=lm(delta_energy ~ days,data) - slope=round(as.numeric(reg$coefficients["days"]),digits=1) - intercept=round(as.numeric(reg$coefficients[1]),digits=1) + slope=round(as.numeric(reg$coefficients["days"]),digits=0) + intercept=round(as.numeric(reg$coefficients[1]),digits=0) mean_delta_coverage=round(mean(data$delta_coverage),digits=1) + mean_coverage=round(mean(data$coverage),digits=1) + mean_coverage_training=round(mean(data$coverage_training),digits=1) print(paste0("Wireless=",grp$wireless," Wakeupfor=",grp$wakeupfor," Policy=",grp$simkey," Slope=",slope," Intercept=",intercept," Delta Coverage=",mean_delta_coverage)) - write(paste(grp$wireless,grp$wakeupfor,grp$simkey,slope,intercept,mean_delta_coverage,sep=","),"figures/delta_energy_coverage.csv",append=T) + write(paste(grp$wireless,grp$wakeupfor,grp$simkey,slope,intercept,mean_delta_coverage,mean_coverage,mean_coverage_training,paste0(r"("$\mathbf{s=)",slope,",c_p=",mean_coverage,",c_t=",mean_coverage_training,r"(}$")"),sep=","),"figures/delta_energy_coverage.csv",append=T) }) ggplot(energy_coverage_delta,aes(days/30,delta_energy/1e3,color=simkey,shape=simkey))+ |
