pollutantmean <- function(filedir, pollutant, csvid = 1:332) { pollutants = c() filenames = list.files(filedir) for(i in csvid) { filelocation = paste(filedir, "/", filenames[i], sep = "") filedata = read.csv(filelocation, header = TRUE) pollutants = c(pollutants, filedata[, pollutant]) } pollutantsavg = mean(pollutants, na.rm = TRUE) pollutantsavg } complete <- function(filedir, csvid = 1:332) { csvidnums = c() nobs_vector = c() filenames = list.files(filedir) for(i in csvid) { filelocation = paste(filedir, "/", filenames[i], sep = "") filedata = read.csv(filelocation, header = TRUE) complete_cases = filedata[complete.cases(filedata), ] csvidnums = c(csvidnums, i) nobs_vector = c(nobs_vector, nrow(complete_cases)) } data.frame(id = csvidnums, nobs = nobs_vector) } corr <- function(filedir, threshold = 0) { completes = complete(filedir, 1:332) completes_above_threshold = subset(completes, nobs > threshold) correl <- vector() filenames = list.files(filedir) for(i in completes_above_threshold$id) { filelocation = paste(filedir, "/", filenames[i], sep = "") filedata = read.csv(filelocation, header = TRUE) complete_cases = filedata[complete.cases(filedata), ] count = nrow(complete_cases) if(count >= threshold) { correl = c(correl, cor(complete_cases$nitrate, complete_cases$sulfate)) } } correl }