aboutsummaryrefslogtreecommitdiff
path: root/results/analysis.R
blob: 837daf6c986c92341d20323d69b4dde777a92e60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
library("tidyverse")
library("knitr")

data=read_csv("results.csv")

finalEnergy=data%>%group_by(simkey,wireless,wakeupfor)%>%summarize(wireless=first(wireless),sd=sd(energy),wakeupfor=first(wakeupfor),energy=mean(energy))
finalStats=data%>%group_by(simkey,wireless,wakeupfor,seed)%>%
    summarise(success=sum(nSend),totalUptime=mean(totalUptime))%>%
    ungroup()%>%group_by(simkey,wireless,wakeupfor)%>%
    summarise(sd=sd(success),success=mean(success),totalUptime=first(totalUptime))

# Add nSendFail to stats
sendFail=data%>%filter(node=="on0")%>%group_by(simkey,wireless,wakeupfor)%>%summarise(nSendFail=mean(nSendFail))
finalStats=finalStats%>%left_join(sendFail,by=c("simkey","wireless","wakeupfor"))

# Generate plots
ggplot(finalEnergy,aes(x=simkey,y=energy,fill=wireless))+
    geom_bar(stat="identity",position=position_dodge())+
    xlab("Scenarios")+ylab("Energy (J)")+
    geom_errorbar(position=position_dodge(0.9),aes(ymin=energy-sd, ymax=energy+sd),width=0.5,size=1.5,) +
    facet_wrap(~ wakeupfor) +
    geom_text(aes(label = round(energy+sd), y= energy+sd),vjust=-0.4,position=position_dodge(0.9))+
    geom_text(aes(label = round(energy-sd), y= energy-sd),vjust=+1.5,position=position_dodge(0.9))+
    geom_text(aes(label = round(energy), y= energy/2),fontface="bold",colour="white",position=position_dodge(0.9))
ggsave("energy.png")


ggplot(finalStats,aes(x=simkey,y=success,fill=wireless))+
    geom_bar(stat="identity",position=position_dodge())+
    xlab("Scenarios")+ylab("Energy (J)")+
    geom_errorbar(position=position_dodge(0.9),aes(ymin=success-sd, ymax=success+sd),width=0.5,size=1.5,) +
    geom_text(aes(label = round(success+sd,digits=1), y= success+sd),vjust=-0.4,position=position_dodge(0.9))+
    geom_text(aes(label = round(success-sd,digits=1), y= success-sd),vjust=+1.5,position=position_dodge(0.9))+
    geom_text(aes(label = round(success,digits=1), y= success/2),fontface="bold",colour="white",position=position_dodge(0.9))+
    facet_wrap(~ wakeupfor) +
ggsave("success.png")

tf="tables-energy.org"
write("",file=tf)
for(wake in unique(data$wakeupfor)){
    write(kable(finalEnergy%>%filter(wireless=="lora",wakeupfor==wake)),file=tf,append=TRUE)
    write("\n",file=tf,append=TRUE)
    write(kable(finalEnergy%>%filter(wireless=="nbiot",wakeupfor==wake)),file=tf,append=TRUE)
    write("\n",file=tf,append=TRUE)
}

tf="tables-stats.org"
write("",file=tf)
for(wake in unique(data$wakeupfor)){
    write(kable(finalStats%>%filter(wireless=="lora",wakeupfor==wake)),file=tf,append=TRUE)
    write("\n",file=tf,append=TRUE)
    write(kable(finalStats%>%filter(wireless=="nbiot",wakeupfor==wake)),file=tf,append=TRUE)
    write("\n",file=tf,append=TRUE)
}