# PM2.5 spectrometer tests
library('ggplot2')
library('openair')
## Loading required package: maps
##
## # maps v3.1: updated 'world': all lakes moved to separate new #
## # 'lakes' database. Type '?world' or 'news(package="maps")'. #
library('lubridate')
##
## Attaching package: 'lubridate'
## The following object is masked from 'package:base':
##
## date
library('corrplot')
# ODIN-SD-1 data ####
odin.sd.1.data <- read.delim("/home/gustavo/data/ODIN_SD/LAB_test1/odin_sd_1.txt")
odin.sd.1.data$date <- as.POSIXct(paste(odin.sd.1.data$Day,odin.sd.1.data$Time),tz='Pacific/Auckland')
odin.sd.1.data$Day<-NULL
odin.sd.1.data$Time<-NULL
# Date correction
# Real time: 2016-05-31 17:11:12
tdiff = (as.POSIXct("2016-05-31 17:11:12",format = "%Y-%m-%d %H:%M:%S") - odin.sd.1.data$date[1])
odin.sd.1.data$date <- odin.sd.1.data$date + tdiff
# Rename data fields to prepare for merging
names(odin.sd.1.data) <- c('FrameLength.1',
'PM1.1',
'PM2.5.1',
'PM10.1',
'Data4.1',
'Data5.1',
'Data6.1',
'Data7.1',
'Data8.1',
'Data9.1',
'Temperature.1',
'RH.1',
'date')
# ODIN-SD-2 data ####
odin.sd.2.data <- read.delim("/home/gustavo/data/ODIN_SD/LAB_test1/odin_sd_2.txt")
odin.sd.2.data$date <- as.POSIXct(paste(odin.sd.2.data$Day,odin.sd.2.data$Time),tz='Pacific/Auckland')
odin.sd.2.data$Day<-NULL
odin.sd.2.data$Time<-NULL
# Date correction
# Real time: 2016-05-31 17:11:43
tdiff = (as.POSIXct("2016-05-31 17:11:43",format = "%Y-%m-%d %H:%M:%S") - odin.sd.2.data$date[1])
odin.sd.2.data$date <- odin.sd.2.data$date + tdiff
# Rename data fields to prepare for merging
names(odin.sd.2.data) <- c('FrameLength.2',
'PM1.2',
'PM2.5.2',
'PM10.2',
'Data4.2',
'Data5.2',
'Data6.2',
'Data7.2',
'Data8.2',
'Data9.2',
'Temperature.2',
'RH.2',
'date')
# ODIN-SD-3 data ####
odin.sd.3.data <- read.delim("/home/gustavo/data/ODIN_SD/LAB_test1/odin_sd_3.txt")
odin.sd.3.data$date <- as.POSIXct(paste(odin.sd.3.data$Day,odin.sd.3.data$Time),tz='Pacific/Auckland')
odin.sd.3.data$Day<-NULL
odin.sd.3.data$Time<-NULL
# Date correction
# Real time: 2016-05-31 17:12:15
tdiff = (as.POSIXct("2016-05-31 17:12:15",format = "%Y-%m-%d %H:%M:%S") - odin.sd.3.data$date[1])
odin.sd.3.data$date <- odin.sd.3.data$date + tdiff
# Rename data fields to prepare for merging
names(odin.sd.3.data) <- c('FrameLength.3',
'PM1.3',
'PM2.5.3',
'PM10.3',
'Data4.3',
'Data5.3',
'Data6.3',
'Data7.3',
'Data8.3',
'Data9.3',
'Temperature.3',
'RH.3',
'date')
# ODIN-SD-4 data ####
odin.sd.4.data <- read.delim("/home/gustavo/data/ODIN_SD/LAB_test1/odin_sd_4.txt")
odin.sd.4.data$date <- as.POSIXct(paste(odin.sd.4.data$Day,odin.sd.4.data$Time),tz='Pacific/Auckland')
odin.sd.4.data$Day<-NULL
odin.sd.4.data$Time<-NULL
# Date correction
# Real time: 2016-05-31 17:13:17
tdiff = (as.POSIXct("2016-05-31 17:13:17",format = "%Y-%m-%d %H:%M:%S") - odin.sd.4.data$date[1])
odin.sd.4.data$date <- odin.sd.4.data$date + tdiff
# Rename data fields to prepare for merging
names(odin.sd.4.data) <- c('FrameLength.4',
'PM1.4',
'PM2.5.4',
'PM10.4',
'Data4.4',
'Data5.4',
'Data6.4',
'Data7.4',
'Data8.4',
'Data9.4',
'Temperature.4',
'RH.4',
'date')
# ODIN-SD-5 data ####
odin.sd.5.data <- read.delim("/home/gustavo/data/ODIN_SD/LAB_test1/odin_sd_5.txt")
odin.sd.5.data$date <- as.POSIXct(paste(odin.sd.5.data$Day,odin.sd.5.data$Time),tz='Pacific/Auckland')
odin.sd.5.data$Day<-NULL
odin.sd.5.data$Time<-NULL
# Date correction
# Real time: 2016-05-31 17:18:40
tdiff = (as.POSIXct("2016-05-31 17:18:40",format = "%Y-%m-%d %H:%M:%S") - odin.sd.5.data$date[1])
odin.sd.5.data$date <- odin.sd.5.data$date + tdiff
# Rename data fields to prepare for merging
names(odin.sd.5.data) <- c('FrameLength.5',
'PM1.5',
'PM2.5.5',
'PM10.5',
'Data4.5',
'Data5.5',
'Data6.5',
'Data7.5',
'Data8.5',
'Data9.5',
'Temperature.5',
'RH.5',
'date')
# ODIN-SD-6 data ####
odin.sd.6.data <- read.delim("/home/gustavo/data/ODIN_SD/LAB_test1/odin_sd_6.txt")
odin.sd.6.data$date <- as.POSIXct(paste(odin.sd.6.data$Day,odin.sd.6.data$Time),tz='Pacific/Auckland')
odin.sd.6.data$Day<-NULL
odin.sd.6.data$Time<-NULL
# Date correction
# Real time: 2016-05-31 17:15:40
tdiff = (as.POSIXct("2016-05-31 17:15:40",format = "%Y-%m-%d %H:%M:%S") - odin.sd.6.data$date[1])
odin.sd.6.data$date <- odin.sd.6.data$date + tdiff
# Rename data fields to prepare for merging
names(odin.sd.6.data) <- c('FrameLength.6',
'PM1.6',
'PM2.5.6',
'PM10.6',
'Data4.6',
'Data5.6',
'Data6.6',
'Data7.6',
'Data8.6',
'Data9.6',
'Temperature.6',
'RH.6',
'date')
# Merging the data
merged.data <- merge(odin.sd.1.data,odin.sd.2.data,by = 'date',all = TRUE)
merged.data <- merge(merged.data,odin.sd.3.data,by = 'date',all = TRUE)
merged.data <- merge(merged.data,odin.sd.4.data,by = 'date',all = TRUE)
merged.data <- merge(merged.data,odin.sd.5.data,by = 'date',all = TRUE)
merged.data <- merge(merged.data,odin.sd.6.data,by = 'date',all = TRUE)
# Plotting
avgtime = '1 hour'
timePlot(merged.data,pollutant = c('Temperature.1',
'Temperature.2',
'Temperature.3',
'Temperature.4',
'Temperature.5',
'Temperature.6'),
avg.time = avgtime,
group = TRUE)

timePlot(merged.data,pollutant = c('RH.1',
'RH.2',
'RH.3',
'RH.4',
'RH.5',
'RH.6'),
avg.time = avgtime,
group = TRUE)

timePlot(merged.data,pollutant = c('PM1.1',
'PM1.2',
'PM1.3',
'PM1.4',
'PM1.5',
'PM1.6'),
avg.time = avgtime,
group = TRUE)

timePlot(merged.data,pollutant = c('PM10.1',
'PM10.2',
'PM10.3',
'PM10.4',
'PM10.5',
'PM10.6'),
avg.time = avgtime,
group = TRUE)

timePlot(merged.data,pollutant = c('PM2.5.1',
'PM2.5.2',
'PM2.5.3',
'PM2.5.4',
'PM2.5.5',
'PM2.5.6'),
avg.time = avgtime,
group = TRUE)

timePlot(merged.data,pollutant = c('Data8.1',
'Data8.2',
'Data8.3',
'Data8.4',
'Data8.5',
'Data8.6'),
avg.time = avgtime,
group = TRUE)

timePlot(merged.data,pollutant = c('Data7.1',
'Data7.2',
'Data7.3',
'Data7.4',
'Data7.5',
'Data7.6'),
avg.time = avgtime,
group = TRUE)

save(merged.data,file = './odin-sd-data.RData')