-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcorr.R
56 lines (43 loc) · 1.32 KB
/
corr.R
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
corr <- function(directory, threshold){
#get the list of complete cases
cVec <- numeric()
completeCases <- complete(directory, 1:332)
thCases <- subset(completeCases, nobs>threshold )
if(nrow(thCases)==0){
cVec <- numeric()
}
else{
for(i in 1:nrow(thCases)){
filename <- formfilename(thCases[i,1])
file.data <- read.csv(paste(paste(directory,"/", sep=""),filename,sep=""), header=TRUE)
file.datasubset <- subset(file.data, ((!is.na(nitrate))&(!is.na(sulfate))))
sul <- file.datasubset["sulfate"]
nit <- file.datasubset["nitrate"]
corl <- cor(sul,nit,use="complete.obs")
cVec <- c(cVec,corl)
}
}
return(cVec)
}
formfilename <- function(id){
flname <- NA
counter <- 0
for (i in id)
{
if (i < 10){
fname <- paste("00",i,sep="")
}
else if(i <100){
fname <- paste("0",i,sep="")
}
else if(i<1000){
fname <- toString(i)
}
else if(i<10000){
fname <- toString(i)
}
counter <- counter+1
flname[counter] <- paste(fname,".csv",sep="")
}
return(flname)
}