diff options
Diffstat (limited to 'analysis/analysis.R')
| -rw-r--r-- | analysis/analysis.R | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/analysis/analysis.R b/analysis/analysis.R index f2343a7..8a76849 100644 --- a/analysis/analysis.R +++ b/analysis/analysis.R @@ -19,6 +19,7 @@ nwireless=2 nsimkey=4 nsimulations=nseed*nwakeupfor*nwireless*nsimkey # Must be 3200 +if(1==2){ ## Load data data=read_csv("../CCGRID2022.csv")%>%distinct() # Note that in the data experiment wireless=="lora",seed==1,wakeupfor==60,simkey=="baseline" is present 2 times in the CSV file tmp_data_coverage=data%>%group_by(simkey,wireless,wakeupfor,seed)%>%mutate(coverage=sum(nDataRcv))%>%ungroup()%>%filter(isSender==1)%>%select(simkey,wireless,wakeupfor,seed,coverage) @@ -38,7 +39,7 @@ sim=sim%>%group_by(simkey,wireless,wakeupfor,energy_constraint,coverage_constrai sim=sim%>%arrange(energy_constraint,coverage_constraint)%>%group_by(wireless,wakeupfor,model)%>%mutate(id=row_number())%>%ungroup() # Create id for each experiment rand_id=sample(seq(1,NROW(sim)/8)) sim=sim%>%mutate(id_rand=rand_id[id]) - +} ## Perform various plots to understand the data GG_VARIOUS=function(){ ## Dimension Coverage @@ -56,19 +57,19 @@ GG_VARIOUS=function(){ ggsave("figures/dimension_efficiency.pdf") ## Dimension Energy/Coverage ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), - aes(coverage,energy,color=simkey))+geom_point()+ - ggtitle("Dimension Energy/Coverage")+xlab("Coverage")+ylab("Sum of nodes energy consumption (J)")+ + aes(coverage,energy,color=simkey))+geom_point(alpha=0.5)+labs(color="Policy")+theme(legend.position="top")+ + ggtitle("Dimension Energy/Coverage")+xlab("Coverage")+ylab("Nodes energy consumption (J)")+ facet_wrap(~wakeupfor+wireless,scale="free") ggsave("figures/dimension_energy-coverage.pdf") ## Dimension Energy/Coverage Wakeupfor ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), - aes(coverage,energy,color=wakeupfor))+geom_point()+ - ggtitle("Dimension Energy/Coverage Wakeupfor")+xlab("Coverage")+ylab("Sum of nodes energy consumption (J)") + aes(coverage,energy,color=wakeupfor))+geom_point(alpha=0.5)+labs(color="Policy")+theme(legend.position="top")+ + ggtitle("Dimension Energy/Coverage Wakeupfor")+xlab("Coverage")+ylab("Nodes energy consumption (J)") ggsave("figures/dimension_energy-coverage-wakeupfor.pdf") ## Dimension Energy/Coverage Policy ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), - aes(coverage,energy,color=simkey))+geom_point()+ - ggtitle("Dimension Energy/Coverage Policy")+xlab("Coverage")+ylab("Sum of nodes energy consumption (J)") + aes(coverage,energy,color=simkey))+geom_point(alpha=0.5)+labs(color="Policy")+ + ggtitle("Dimension Energy/Coverage Policy")+xlab("Coverage")+ylab("Nodes energy consumption (J)") ggsave("figures/dimension_energy-coverage-policy.pdf") @@ -88,23 +89,26 @@ GG_SIMULATIONS = function(file,key="NOKEY") { rand_id=sample(seq(1,NROW(sim)/8)) sim=sim%>%mutate(id_rand=rand_id[id]) - sim_means=sim%>%group_by(wireless,wakeupfor,model)%>%summarize(mean_energy=mean(mean_energy_delta),mean_coverage=mean(mean_coverage_delta)) + sim_means=sim%>%group_by(wireless,wakeupfor,model)%>%summarize(mean_energy=mean(mean_energy_delta),mean_coverage=mean(mean_coverage_delta),sd_energy=sd(sd_energy_delta),sd_coverage=sd(sd_coverage_delta)) + write.csv(sim_means%>%mutate_if(is.numeric, ~round(.,digits=2)),paste0("figures/sim_results_",key,".csv"),row.names=FALSE, quote=FALSE) + ## Dimension Energy ggplot(sim,aes(id_rand,mean_energy_delta,color=model))+ - geom_hline(data=sim_means,aes(yintercept=mean_energy,color=model),linetype="dashed")+ geom_ribbon(aes(ymin=mean_energy_delta-sd_energy_delta,ymax=mean_energy_delta+sd_energy_delta,fill=model),alpha=0.2,color=NA)+ geom_point(aes(shape=simkey),size=2)+geom_line()+facet_wrap(~wireless+wakeupfor,scale="free")+ggtitle(paste0("Simulation Dimension Energy (",key,")"))+ylab("Energy Relative Absolute Error (J)")+ scale_x_continuous("Experiments id",breaks=seq(1,max(sim$id)))+theme(panel.grid.minor = element_blank())+labs(shape="Predictions")+ - guides(fill=guide_legend(title="Models"),color=guide_legend(title="Models"))+ + geom_hline(data=sim_means,aes(yintercept=mean_energy,color=model))+ + guides(fill=guide_legend(title="Models"),color=guide_legend(title="Models"))+theme(legend.position="top")+ theme(axis.text.x=element_blank(),axis.ticks.x=element_blank()) - ggsave(paste0("figures/sim_dimension_energy_",key,".pdf"),width=20) + ggsave(paste0("figures/sim_dimension_energy_",key,".pdf"),width=10) + ## Dimension Coverage ggplot(sim,aes(id_rand,mean_coverage_delta,color=model))+ geom_hline(data=sim_means,aes(yintercept=mean_coverage,color=model),linetype="dashed")+ geom_ribbon(aes(ymin=mean_coverage_delta-sd_coverage_delta,ymax=mean_coverage_delta+sd_coverage_delta,fill=model),alpha=0.2,color=NA)+ geom_point(aes(shape=simkey),size=2)+geom_line()+facet_wrap(~wireless+wakeupfor,scale="free")+ggtitle(paste0("Simulation Dimension Coverage (",key,")"))+ylab("Coverage Relative Absolute Error")+ scale_x_continuous("Experiments id",breaks=seq(1,max(sim$id)))+theme(panel.grid.minor = element_blank())+labs(shape="Predictions")+ - guides(fill=guide_legend(title="Models"),color=guide_legend(title="Models"))+ + guides(fill=guide_legend(title="Models"),color=guide_legend(title="Models"))+theme(legend.position="top")+ theme(axis.text.x=element_blank(),axis.ticks.x=element_blank()) ggsave(paste0("figures/sim_dimension_coverage_",key,".pdf"),width=20) |
