-
Notifications
You must be signed in to change notification settings - Fork 0
/
pollutantmean.R
23 lines (18 loc) · 902 Bytes
/
pollutantmean.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pollutantmean <- function(directory, pollutant, id = 1:332) {
## 'directory' is a character vector of length 1 indicating
## the location of the CSV files
## 'pollutant' is a character vector of length 1 indicating
## the name of the pollutant for which we will calculate the
## mean; either "sulfate" or "nitrate".
## 'id' is an integer vector indicating the monitor ID numbers
## to be used
## Return the mean of the pollutant across all monitors list
## in the 'id' vector (ignoring NA values)
data <- numeric()
for(i in id){
fileName <- sprintf("%s/%03G.csv",directory, i) #ie "specdata/002.csv"
file <- read.csv(fileName, comment.char = "") #read in the file
data <- c(data, file[[c(pollutant)]]) #get the column data and append to data vector
}
return (mean(data, na.rm = TRUE)) #return mean, filtering out NA
}