This is a report of near-real-time monitoring results for individual RadNet air monitors in New York City, New York in 2020.

RadNet monitors track fluctuations in gamma radiation emitted from airborne radioactive particles. Tracking these changes over time gives a picture of the normal, background levels of gamma radiation at each monitoring location. This allows the Environmental Protection Agency (EPA) to detect any unusual changes. This report presents the gamma gross count rates, or the number of gamma rays detected each minute. Data are split into channel ranges to allow the EPA greater sensitivity when identifying anomalous readings (EPA RadNet).

Below are useful summary statistics for each channel range:

NYC Gamma Gross Count Rate by Channel Range, 2020
Variable Mean Median Min Max
R02 2419.4 2413 2243 3386
R03 1401.4 1392 1276 2317
R04 403.1 398 367 680
R05 210.1 209 180 361
R06 136.1 135 124 205
R07 155.2 153 137 279
R08 97.8 101 72 141
R09 45.3 45 40 58

When providing this data, the EPA also specifies if the gamma gross count rates are within an acceptable range. In 2020, out of 7251 observations, 7251 received a status rating of ‘Approved’ and 0 received a status rating other than ‘Approved.’

A time series line graph of gamma gross count rates and more detailed and comprehensive summary statistics may be found below:

##  location_name      sample collection time        dose equivalent rate (nsv/h)
##  Length:7251        Min.   :2020-01-01 00:36:00   Min.   :53.00               
##  Class :character   1st Qu.:2020-03-17 07:19:00   1st Qu.:58.00               
##  Mode  :character   Median :2020-06-04 21:45:00   Median :59.00               
##                     Mean   :2020-06-12 14:32:07   Mean   :59.44               
##                     3rd Qu.:2020-08-22 07:29:00   3rd Qu.:60.00               
##                     Max.   :2020-12-17 19:12:00   Max.   :94.00               
##                                                   NA's   :490                 
##       R02            R03            R04             R05             R06       
##  Min.   :2243   Min.   :1276   Min.   :367.0   Min.   :180.0   Min.   :124.0  
##  1st Qu.:2364   1st Qu.:1345   1st Qu.:394.0   1st Qu.:194.0   1st Qu.:133.0  
##  Median :2413   Median :1392   Median :398.0   Median :209.0   Median :135.0  
##  Mean   :2419   Mean   :1401   Mean   :403.1   Mean   :210.1   Mean   :136.1  
##  3rd Qu.:2454   3rd Qu.:1436   3rd Qu.:405.0   3rd Qu.:219.0   3rd Qu.:138.0  
##  Max.   :3386   Max.   :2317   Max.   :680.0   Max.   :361.0   Max.   :205.0  
##  NA's   :12     NA's   :12     NA's   :12      NA's   :12      NA's   :12     
##       R07             R08              R09           status         
##  Min.   :137.0   Min.   : 72.00   Min.   :40.00   Length:7251       
##  1st Qu.:150.0   1st Qu.: 89.00   1st Qu.:44.00   Class :character  
##  Median :153.0   Median :101.00   Median :45.00   Mode  :character  
##  Mean   :155.2   Mean   : 97.75   Mean   :45.27                     
##  3rd Qu.:157.0   3rd Qu.:105.00   3rd Qu.:46.00                     
##  Max.   :279.0   Max.   :141.00   Max.   :58.00                     
##  NA's   :12      NA's   :12       NA's   :12

The code for reproducing this report may be found below:

#set working directory. Update to your own working directory.
setwd("E:/NYU Stern MSQM/R Programming for Data, Fall 2021/data files")

#import readr package
library(readr)

#upload dataset
nyc_gamma <- read_csv("gamma_nyc_2020.csv")

#make column names lowercase
names(nyc_gamma) <- tolower(names(nyc_gamma))

#change radiation channel column names
names(nyc_gamma)[names(nyc_gamma) == "gamma count rate r02 (cpm)"] <- "R02"
names(nyc_gamma)[names(nyc_gamma) == "gamma count rate r03 (cpm)"] <- "R03"
names(nyc_gamma)[names(nyc_gamma) == "gamma count rate r04 (cpm)"] <- "R04"
names(nyc_gamma)[names(nyc_gamma) == "gamma count rate r05 (cpm)"] <- "R05"
names(nyc_gamma)[names(nyc_gamma) == "gamma count rate r06 (cpm)"] <- "R06"
names(nyc_gamma)[names(nyc_gamma) == "gamma count rate r07 (cpm)"] <- "R07"
names(nyc_gamma)[names(nyc_gamma) == "gamma count rate r08 (cpm)"] <- "R08"
names(nyc_gamma)[names(nyc_gamma) == "gamma count rate r09 (cpm)"] <- "R09"

#convert datetime information from character class to POSIXct so it may be used as time series data.
nyc_gamma$`sample collection time` <- as.POSIXct(nyc_gamma$`sample collection time`, format="%m/%d/%Y%H:%M")

#import vtable
library(vtable)

#create more readable table with useful statistics
sumtable(nyc_gamma[,4:11],
         summ=c('mean(x)',
                'median(x)',
                'min(x)',
                'max(x)'),
         title="NYC Gamma Gross Count Rate by Channel Range, 2020")

#provide all summary statistics for dataset.
summary(nyc_gamma)

#import ggplot2 for line graph
library(ggplot2)

#import reshape2 to make data suitable for line graph.
library(reshape2)

#melt individual channel variables into a single variable column, Channel Range, with the ranges as variable levels.
nyc_gamma_melt <- melt(nyc_gamma[,c(2,4:11)], id="sample collection time")

#change column names for just-created data frame.
names(nyc_gamma_melt)[names(nyc_gamma_melt) == "variable"] <- "Channel Range"
names(nyc_gamma_melt)[names(nyc_gamma_melt) == "value"] <- "Gamma Gross Count Rate"

#plot line graph
gamma_graph <- ggplot(data=nyc_gamma_melt, aes(x=`sample collection time`, y=`Gamma Gross Count Rate`, colour=`Channel Range`)) + geom_line() + ggtitle("NYC Gamma Gross Count Rate by Channel Range, 2020") + xlab("Sample Collection Time") + theme_minimal()

#gamma_graph (commented out to prevent duplication in current report.)