#housekeeping
options(jupyter.plot_mimetypes = c("text/plain", "image/png" ))
options(repr.plot.width=8, repr.plot.height=4)
suppressPackageStartupMessages(library(dplyr))
suppressPackageStartupMessages(library(zoo))
suppressPackageStartupMessages(library(lubridate))
suppressPackageStartupMessages(library(RCurl))
myfile <- getURL('https://rdm.inesctec.pt/dataset/8e80ec16-8124-4305-9d75-d0816ddc15b2/resource/fdc9c50f-bfb3-4b13-8cff-a16fcbd5e7f6/download/radoninesc202106.txt',ssl.verifyhost=FALSE, ssl.verifypeer=FALSE)
dat=read.table(textConnection(myfile),header=FALSE,sep="",stringsAsFactors=FALSE)
# data date/time as POSIXct
dat.times=as.POSIXct(paste(dat$V1,dat$V2),format="%Y-%m-%d %H:%M:%S",tz="UTC")
start.time=dat.times[1]
end.time=dat.times[length(dat.times)]
print(paste("data from", start.time, "to", end.time))
Rn=dat$V3
# check for continuity of record [0 --> continuous record]; result=number of gaps
# 6h measurements --> 21600 sec
ngaps=length(which(c(1,round(diff(unclass(dat.times)/21600)))!=1))
gaps=which(c(1,round(diff(unclass(dat.times)/21600)))!=1)
#fill-in gaps by adding missing times as NA values
all.times <- seq.POSIXt(from=start.time, to=end.time, by=21600)
df <- data.frame(dat.times=all.times,stringsAsFactors=FALSE)
data2021.06 <- full_join(df,data.frame(dat.times=dat.times, Rn=Rn))
[1] "data from 2021-06-09 18:00:00 to 2021-06-30 18:00:00"
Joining, by = "dat.times"
ts.zoo=zoo(data2021.06$Rn,data2021.06$dat.times)
times <- time(zoo(ts.zoo))
ticks <- seq(times[1], times[length(times)], by = "days")
fmt <- "%d-%m" # format for axis labels
labs <- format(ticks, fmt)
plot(ts.zoo,ylab = "Rn (Bq/m3)",xlab="day",col="darkmagenta", main="June 2021",xaxt="n",type="b",pch=20)
axis(1, at = ticks,labels=labs, tcl = -0.3)
myfile <- getURL('https://rdm.inesctec.pt/dataset/8e80ec16-8124-4305-9d75-d0816ddc15b2/resource/5d25c628-2453-4d71-9c0f-4f39a3df223e/download/radoninesc202107.txt',ssl.verifyhost=FALSE, ssl.verifypeer=FALSE)
dat=read.table(textConnection(myfile),header=FALSE,sep="",stringsAsFactors=FALSE)
# data date/time as POSIXct
dat.times=as.POSIXct(paste(dat$V1,dat$V2),format="%Y-%m-%d %H:%M:%S",tz="UTC")
start.time=dat.times[1]
end.time=dat.times[length(dat.times)]
print(paste("data from", start.time, "to", end.time))
Rn=dat$V3
# check for continuity of record [0 --> continuous record]; result=number of gaps
# 6h measurements --> 21600 sec
ngaps=length(which(c(1,round(diff(unclass(dat.times)/21600)))!=1))
gaps=which(c(1,round(diff(unclass(dat.times)/21600)))!=1)
#fill-in gaps by adding missing times as NA values
all.times <- seq.POSIXt(from=start.time, to=end.time, by=21600)
df <- data.frame(dat.times=all.times,stringsAsFactors=FALSE)
data2021.07 <- full_join(df,data.frame(dat.times=dat.times, Rn=Rn))
[1] "data from 2021-07-01 to 2021-07-31 18:00:00"
Joining, by = "dat.times"
ts.zoo=zoo(data2021.07$Rn,data2021.07$dat.times)
times <- time(zoo(ts.zoo))
ticks <- seq(times[1], times[length(times)], by = "days")
fmt <- "%d-%m" # format for axis labels
labs <- format(ticks, fmt)
plot(ts.zoo,ylab = "Rn (Bq/m3)",xlab="day",col="darkmagenta", main="July 2021",xaxt="n",type="b",pch=20)
axis(1, at = ticks,labels=labs, tcl = -0.3)
myfile <- getURL('https://rdm.inesctec.pt/dataset/8e80ec16-8124-4305-9d75-d0816ddc15b2/resource/e6c5714a-95f1-483a-ad83-ec8587c2ac8b/download/radoninesc202108.txt',ssl.verifyhost=FALSE, ssl.verifypeer=FALSE)
dat=read.table(textConnection(myfile),header=FALSE,sep="",stringsAsFactors=FALSE)
# data date/time as POSIXct
dat.times=as.POSIXct(paste(dat$V1,dat$V2),format="%Y-%m-%d %H:%M:%S",tz="UTC")
start.time=dat.times[1]
end.time=dat.times[length(dat.times)]
print(paste("data from", start.time, "to", end.time))
Rn=dat$V3
# check for continuity of record [0 --> continuous record]; result=number of gaps
# 6h measurements --> 21600 sec
ngaps=length(which(c(1,round(diff(unclass(dat.times)/21600)))!=1))
gaps=which(c(1,round(diff(unclass(dat.times)/21600)))!=1)
#fill-in gaps by adding missing times as NA values
all.times <- seq.POSIXt(from=start.time, to=end.time, by=21600)
df <- data.frame(dat.times=all.times,stringsAsFactors=FALSE)
data2021.08 <- full_join(df,data.frame(dat.times=dat.times, Rn=Rn))
[1] "data from 2021-08-01 to 2021-08-31 18:00:00"
Joining, by = "dat.times"
ts.zoo=zoo(data2021.08$Rn,data2021.08$dat.times)
times <- time(zoo(ts.zoo))
ticks <- seq(times[1], times[length(times)], by = "days")
fmt <- "%d-%m" # format for axis labels
labs <- format(ticks, fmt)
plot(ts.zoo,ylab = "Rn (Bq/m3)",xlab="day",col="darkmagenta", main="August 2021",xaxt="n",type="b",pch=20)
axis(1, at = ticks,labels=labs, tcl = -0.3)
myfile <- getURL('https://rdm.inesctec.pt/dataset/8e80ec16-8124-4305-9d75-d0816ddc15b2/resource/a9e81d78-a118-46e7-91a8-a07b6156e058/download/radoninesc202109.txt',ssl.verifyhost=FALSE, ssl.verifypeer=FALSE)
dat=read.table(textConnection(myfile),header=FALSE,sep="",stringsAsFactors=FALSE)
# data date/time as POSIXct
dat.times=as.POSIXct(paste(dat$V1,dat$V2),format="%Y-%m-%d %H:%M:%S",tz="UTC")
start.time=dat.times[1]
end.time=dat.times[length(dat.times)]
print(paste("data from", start.time, "to", end.time))
Rn=dat$V3
# check for continuity of record [0 --> continuous record]; result=number of gaps
# 6h measurements --> 21600 sec
ngaps=length(which(c(1,round(diff(unclass(dat.times)/21600)))!=1))
gaps=which(c(1,round(diff(unclass(dat.times)/21600)))!=1)
#fill-in gaps by adding missing times as NA values
all.times <- seq.POSIXt(from=start.time, to=end.time, by=21600)
df <- data.frame(dat.times=all.times,stringsAsFactors=FALSE)
data2021.09 <- full_join(df,data.frame(dat.times=dat.times, Rn=Rn))
[1] "data from 2021-09-01 to 2021-09-24 06:00:00"
Joining, by = "dat.times"
ts.zoo=zoo(data2021.09$Rn,data2021.09$dat.times)
times <- time(zoo(ts.zoo))
ticks <- seq(times[1], times[length(times)], by = "days")
fmt <- "%d-%m" # format for axis labels
labs <- format(ticks, fmt)
plot(ts.zoo,ylab = "Rn (Bq/m3)",xlab="day",col="darkmagenta", main="September 2021",xaxt="n",type="b",pch=20)
axis(1, at = ticks,labels=labs, tcl = -0.3)