forked from mbhushan/RProgramming
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpollutantmean.R
More file actions
69 lines (67 loc) · 1.99 KB
/
pollutantmean.R
File metadata and controls
69 lines (67 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
complete <- function(directory, id = 1:332) {
vect <- c("0","0")
nbs <- c()
for (i in id) {
ncount <- 0
fname <- as.character(i)
nc <- nchar(fname)
if ( nc < 3) {
fname <- paste(paste(vect[1:(3-nc)],collapse=""),fname,sep="")
}
fvect = c(directory,"/",fname, ".csv")
fpath = paste(fvect,collapse="")
##print(fpath)
data <- read.csv(file=fpath,head=TRUE,sep=",")
nr <- nrow(data)
for (i in 1:nr) {
nasum <- sum(as.numeric(is.na(data[i,])))
if (nasum == 0) {
ncount <- ncount + 1
}
}
nbs <- union(nbs, ncount)
}
df <- data.frame(id, nbs)
return(df)
}
pollutantmean <- function(directory, pollutant, id = 1:332) {
vect <- c("0","0")
tsum <- 0
count <- 0
pmean <- 0
result <- c()
sumvect <- c()
countvect <- c()
if (!is.null(id)) {
mx <- max(id)
mxlen <- nchar(as.character(mx))
for (i in id) {
fname <- as.character(i)
nc <- nchar(fname)
##print(nc)
if ( nc < 3) {
fname <- paste(paste(vect[1:(3-nc)],collapse=""),fname,sep="")
}
fvect = c(directory,"/",fname, ".csv")
fpath = paste(fvect,collapse="")
##print(fpath)
data <- read.csv(file=fpath,head=TRUE,sep=",")
fdata <- data[pollutant]
tdata <- fdata[!is.na(fdata)]
##if (sum(tdata))
##tsum <- sum(tsum, sum(tdata))
##count <- sum(count, length(tdata))
tsum <- sum(tdata)
tcount <- length(tdata)
sumvect <- append(sumvect, tsum)
countvect <- append(countvect, tcount)
if (tcount < 0) {
r <- tsum/tcount;
result <- append(result, r)
}
}
pmean <- sum(sumvect)/sum(countvect)
}
result <- round(pmean,digits=3)
return(result)
}