library("tidyverse") ## Simulation Parameters: ## simkey {baseline,extended,hint,hintandextended} ## wireless {lora,nbiot} ## wakeupfor {60s,180s} ## seed [1,200] ## node on[0,12] ## isSender {0,1} ## dataSize {1MB} ## Metrics: ## energy [0,+inf) ## nDataRcv [0,+inf) nseed=200 nwakeupfor=2 nwireless=2 nsimkey=4 nsimulations=nseed*nwakeupfor*nwireless*nsimkey # Must be 3200 ## 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) data_seed_isSender=data%>%group_by(simkey,wireless,wakeupfor,seed,isSender)%>%summarize(energy_mean=mean(energy))%>% left_join(tmp_data_coverage,by=c("simkey","wireless","wakeupfor","seed"))%>% mutate(efficiency=energy_mean/coverage)%>% ungroup() data_seed=data%>%group_by(simkey,wireless,wakeupfor,seed)%>%summarize(energy=sum(energy),coverage=sum(nDataRcv))%>% mutate(efficiency=energy/coverage)%>% ungroup() ## Perform various plots to understand the data GG_VARIOUS=function(){ ## Dimension Coverage ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), aes(simkey,coverage,color=wakeupfor))+geom_point()+facet_wrap(~wireless+wakeupfor)+ggtitle("Dimension Coverage") ggsave("figures/dimension_coverage.pdf") ## Dimension Energy ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), aes(simkey,energy,color=wakeupfor))+geom_point()+facet_wrap(~wireless+wakeupfor)+ggtitle("Dimension Energy")+ylab("Energy Consumption (J)") ggsave("figures/dimension_energy.pdf") ## Dimension Efficiency ggplot(data_seed%>%mutate(wakeupfor=as.character(wakeupfor)), aes(simkey,efficiency,color=wakeupfor))+ geom_point()+facet_wrap(~wireless+wakeupfor)+ggtitle("Dimension Efficiency")+ylab("Efficiency (J/Succ)") 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)")+ 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)") 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)") ggsave("figures/dimension_energy-coverage-policy.pdf") } ## Plot to generate: GG_VARIOUS() system("rm -f figures/combined.pdf") system("pdfunite figures/*.pdf figures/combined.pdf")