-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathanalysis.R
More file actions
71 lines (59 loc) · 3.22 KB
/
analysis.R
File metadata and controls
71 lines (59 loc) · 3.22 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
require(ggplot2)
require(scales)
require(plyr)
data = read.csv("outputD.csv", sep=";", stringsAsFactors=FALSE, quote = "'")
data$slot = as.factor(data$slot)
data$time = as.POSIXct(data$time, origin="1970-01-01")
data$battery.voltage = data$battery.voltage / 1000 # mV to V
data$charger.voltage = data$charger.voltage / 1000 # mV to V
data$charger.amperage = data$charger.amperage / 1000 # mA to A
data$charged.capacity = data$charged.capacity / 100 # 10^-2 mAh to mAh
data$discharged.capacity = data$discharged.capacity / 100 # 10^-2 mAh to mAh
data$battery.resistor = data$battery.resistor / 100 # 10^-1 MOhm to MOhm
data.charge = data[data$program.state == 'Charge',]
data.discharge = data[data$program.state == 'Discharge',]
data.trickle = data[data$program.state == 'Trickle',]
runtime = ddply(data, .(slot), function(rows) {
hour = max(rows$hours)
min = tail(rows, 1)$minutes
return(c(hour, min))
})
names(runtime) = c("Charger Slot", "Hours", "Minutes")
p = ggplot()
p = p + geom_line(data=data.charge, aes(x=time, y=charged.capacity, color=slot))
p = p + geom_line(data=data.discharge, aes(x=time, y=-discharged.capacity, color=slot))
p = p + geom_line(data=data.trickle, aes(x=time, y=charged.capacity, color=slot))
p = p + scale_color_discrete(name="Charger Slot")
p = p + labs(x="Time", y="(Dis)Charged (mAh)")
p = p + theme(legend.position="top")
p.charge.discharge = p
p = ggplot()
p = p + geom_point(data=data.charge[data.charge$battery.resistor > 0,], aes(x=time, y=battery.resistor, color=slot), size=0.1)
p = p + geom_point(data=data.discharge[data.discharge$battery.resistor > 0,], aes(x=time, y=battery.resistor, color=slot), size=0.1)
p = p + geom_point(data=data.trickle[data.trickle$battery.resistor > 0,], aes(x=time, y=battery.resistor, color=slot), size=0.1)
p = p + scale_color_discrete(name="Charger Slot")
p = p + labs(x="Time", y="battery.resistor (MOhm)")
p = p + theme(legend.position="top")
p.battery.resistor = p
p = ggplot()
p = p + geom_line(data=data.charge[data.charge$battery.voltage > 0,], aes(x=time, y=battery.voltage, color=slot))
p = p + geom_line(data=data.discharge[data.discharge$battery.voltage > 0,], aes(x=time, y=battery.voltage, color=slot))
p = p + geom_line(data=data.trickle[data.trickle$battery.voltage > 0,], aes(x=time, y=battery.voltage, color=slot))
p = p + scale_color_discrete(name="Charger Slot")
p = p + labs(x="Time", y="Battery Voltage (V)")
p = p + theme(legend.position="top")
p.battery.voltage = p
p = ggplot()
p = p + geom_line(data=data.charge[data.charge$charger.voltage > 0,], aes(x=time, y=charger.voltage, color=slot))
p = p + geom_line(data=data.trickle[data.trickle$charger.voltage > 0,], aes(x=time, y=charger.voltage, color=slot))
p = p + scale_color_discrete(name="Charger Slot")
p = p + labs(x="Time", y="Charger Voltage (V)")
p = p + theme(legend.position="top")
p.charger.voltage = p
p = ggplot()
p = p + geom_line(data=data.charge[data.charge$charger.amperage > 0,], aes(x=time, y=charger.amperage, color=slot))
p = p + geom_line(data=data.trickle[data.trickle$charger.amperage > 0,], aes(x=time, y=charger.amperage, color=slot))
p = p + scale_color_discrete(name="Charger Slot")
p = p + labs(x="Time", y="Charger Amperage (A)")
p = p + theme(legend.position="top")
p.charger.amperage = p