aboutsummaryrefslogtreecommitdiff
path: root/results/analysis.R
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2021-06-08 09:58:37 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2021-06-08 09:58:37 +0200
commit0a125c366127d76f6b96bb251326f1c4ff017715 (patch)
treef976120e7f8f0cf6dc4d9f5bde4b5e9ce48f1214 /results/analysis.R
parent84d9ce59ae5a3d759a3fc018ede1b80a26c16ea2 (diff)
Improve data analysis
Diffstat (limited to 'results/analysis.R')
-rw-r--r--results/analysis.R55
1 files changed, 49 insertions, 6 deletions
diff --git a/results/analysis.R b/results/analysis.R
index 2a946fb..7f8cf26 100644
--- a/results/analysis.R
+++ b/results/analysis.R
@@ -21,8 +21,8 @@ finalStats=data%>%filter(isSender!=0)%>%group_by(simkey,wireless,wakeupfor)%>%su
#finalStats=finalStats%>%left_join(hintAdded,by=c("simkey","wireless","wakeupfor"))
# Sender energy
-senderEnergy=data%>%filter(isSender!=0)%>%group_by(simkey,wireless,wakeupfor)%>%summarise(senderEnergy=mean(energy))
-receiverEnergy=data%>%filter(isSender==0)%>%group_by(simkey,wireless,wakeupfor)%>%summarise(receiverEnergy=mean(energy))
+senderEnergy=data%>%filter(isSender!=0)%>%group_by(simkey,wireless,wakeupfor)%>%summarise(senderEnergy=mean(energy),senderEnergy_sd=sd(energy))
+receiverEnergy=data%>%filter(isSender==0)%>%group_by(simkey,wireless,wakeupfor)%>%summarise(receiverEnergy=mean(energy),receiverEnergy_sd=sd(energy))
finalStats=finalStats%>%left_join(senderEnergy,by=c("simkey","wireless","wakeupfor"))
finalStats=finalStats%>%left_join(receiverEnergy,by=c("simkey","wireless","wakeupfor"))
@@ -32,6 +32,25 @@ receiverUptime=data%>%filter(isSender==0)%>%group_by(simkey,wireless,wakeupfor)%
finalStats=finalStats%>%left_join(senderUptime,by=c("simkey","wireless","wakeupfor"))
finalStats=finalStats%>%left_join(receiverUptime,by=c("simkey","wireless","wakeupfor"))
+# avgTimedataRcv
+avgTimeDataRcvData=data%>%filter(timeDataRcv!=-1)%>%group_by(simkey,wireless,wakeupfor)%>%summarise(avgTimeDataRcv=mean(timeDataRcv))
+finalStats=finalStats%>%left_join(avgTimeDataRcvData,by=c("simkey","wireless","wakeupfor"))
+
+# Uptime Overhead compare to baseline
+baseline=finalStats%>%filter(simkey=="baseline")%>%select(senderUptime,receiverUptime,simkey,wireless,wakeupfor)
+keys=unique(finalStats$simkey)
+baseline=baseline%>%uncount(length(keys),.id="id")%>%mutate(simkey=keys[id])
+finalStats=finalStats%>%left_join(baseline,by=c("simkey","wireless","wakeupfor"),suffix = c("","_baseline"))
+finalStats=finalStats%>%mutate(senderUptimeOverhead=senderUptime-senderUptime_baseline)
+finalStats=finalStats%>%mutate(receiverUptimeOverhead=receiverUptime-receiverUptime_baseline)
+
+# Energy Overhead (percent) compare to baseline
+baseline=finalStats%>%filter(simkey=="baseline")%>%select(senderEnergy,receiverEnergy,simkey,wireless,wakeupfor)
+baseline=baseline%>%uncount(length(keys),.id="id")%>%mutate(simkey=keys[id])
+finalStats=finalStats%>%left_join(baseline,by=c("simkey","wireless","wakeupfor"),suffix = c("","_baseline"))
+finalStats=finalStats%>%mutate(senderEnergyOverheadPercent=r_((senderEnergy-senderEnergy_baseline)/senderEnergy*100))
+finalStats=finalStats%>%mutate(receiverEnergyOverheadPercent=r_((receiverEnergy-receiverEnergy_baseline)/receiverEnergy*100))
+
# Comparison
finalStats=finalStats%>%left_join(ccgrid,by=c("simkey","wireless","wakeupfor"),suffix = c("","_ccgrid"))
finalStats=finalStats%>%mutate(senderEnergy_err=abs(r_((senderEnergy-senderEnergy_ccgrid)/senderEnergy)*100))
@@ -43,6 +62,12 @@ finalStats=finalStats%>%mutate(receiverUptime_err=abs(r_((receiverUptime-receive
sendFail=data%>%filter(node=="on0")%>%group_by(simkey,wireless,wakeupfor)%>%summarise(nSendFail=mean(nSendFail))
finalStats=finalStats%>%left_join(sendFail,by=c("simkey","wireless","wakeupfor"))
+# Add nWakeUp to stats
+nWakeUpRcv=data%>%filter(node!="on0")%>%group_by(simkey,wireless,wakeupfor)%>%summarise(nWakeUpRcv=mean(nWakeUp))
+finalStats=finalStats%>%left_join(nWakeUpRcv,by=c("simkey","wireless","wakeupfor"))
+nWakeUpSend=data%>%filter(node=="on0")%>%group_by(simkey,wireless,wakeupfor)%>%summarise(nWakeUpSender=mean(nWakeUp))
+finalStats=finalStats%>%left_join(nWakeUpSend,by=c("simkey","wireless","wakeupfor"))
+
ggplot(finalStats,aes(x=simkey,senderEnergy_err,color=wireless,group=wireless))+geom_point()+geom_line()+facet_wrap(~wakeupfor)+xlab("Scenarios") + ylab("Sender Energy Relative Error (%)") + expand_limits(x = 0, y = 0)
ggsave("err_sender_energy.png",width=7,height = 5)
@@ -57,7 +82,6 @@ ggplot(finalStats,aes(x=simkey,receiverUptime_err,color=wireless,group=wireless)
ggsave("err_rcv_accuptime.png",width=7,height = 5)
-stopifnot(1)
# Generate plots
ggplot(finalEnergy,aes(x=simkey,y=energy,fill=wireless))+
geom_bar(stat="identity",position=position_dodge())+
@@ -67,12 +91,11 @@ ggplot(finalEnergy,aes(x=simkey,y=energy,fill=wireless))+
geom_text(aes(label = r_(energy+sd), y= energy+sd),vjust=-0.4,position=position_dodge(0.9))+
geom_text(aes(label = r_(energy-sd), y= energy-sd),vjust=+1.5,position=position_dodge(0.9))+
geom_text(aes(label = r_(energy), y= energy/2),fontface="bold",colour="white",position=position_dodge(0.9))
-ggsave("energy.png")
-
+ggsave("energy.png",width=13,height = 6)
ggplot(finalStats,aes(x=simkey,y=success,fill=wireless))+
geom_bar(stat="identity",position=position_dodge())+
- xlab("Scenarios")+ylab("Energy (J)")+
+ xlab("Scenarios")+ylab("Number of Transmission Success")+
geom_errorbar(position=position_dodge(0.9),aes(ymin=success-sd_success, ymax=success+sd_success),width=0.5,size=1.5,) +
geom_text(aes(label = r_(success+sd_success), y= success+sd_success),vjust=-0.4,position=position_dodge(0.9))+
geom_text(aes(label = r_(success-sd_success), y= success-sd_success),vjust=+1.5,position=position_dodge(0.9))+
@@ -80,6 +103,26 @@ ggplot(finalStats,aes(x=simkey,y=success,fill=wireless))+
facet_wrap(~ wakeupfor) +
ggsave("success.png")
+ggplot(finalStats,aes(x=simkey,y=avgTimeDataRcv,fill=wireless))+
+ geom_bar(stat="identity",position=position_dodge())+
+ xlab("Scenarios")+ylab("Average Data Received Time")+
+ facet_wrap(~ wakeupfor) +
+ggsave("avgDataTimeRcv.png")
+
+ggplot(finalStats,aes(x=simkey,y=nWakeUpRcv,fill=wireless))+
+ geom_bar(stat="identity",position=position_dodge())+
+ xlab("Scenarios")+ylab("Average Number of receiver Wake up")+
+ facet_wrap(~ wakeupfor) +
+ggsave("nWakeUpRcv.png")
+
+ggplot(finalStats,aes(x=simkey,y=nWakeUpSender,fill=wireless))+
+ geom_bar(stat="identity",position=position_dodge())+
+ xlab("Scenarios")+ylab("Average Number of sender Wake up")+
+ facet_wrap(~ wakeupfor) +
+ggsave("nWakeUpSender.png")
+
+
+
##### Save tables #####
tf="tables-energy.org"
write("",file=tf)