Question

J'ai quelques fichiers avec des objets zoo qui ressemblent à ceci (chaque fichier démarre et se termine à différentes dates):

           code pp  
1942-06-01 4016  0  
1942-06-02 4016  NA  
1942-06-03 4016  0  
1942-06-04 4016  0  
1942-06-05 NA    0  
1942-06-06 NA    0

Je veux faire une matrice de corrélation entre le PP de tous les fichiers pour les mois de septembre, octobre et novembre (montrant les codes afin que je puisse identifier qui est qui). Je ne peux pas utiliser la fonction List.Files (code aimablement fourni par Joran dans Matrice de corrélation entre différents fichiers) En raison du NAS dans la colonne de code. Alors j'ai trouvé le code suivante:

files <- list.files(pattern=".csv")
xx<-read.zoo(files[1],sep=",", header=TRUE,index.column=1)  
name<- as.name(xx$code[[1]])  
colnames(xx) <- c("code", name)  
x<-xx[months(time(xx), TRUE) %in% c("Sep", "Oct", "Nov")]  
yy<-read.zoo(files[2],sep=",", header=TRUE,index.column=1)  
name<- as.name(yy$code[1])  
colnames(yy) <- c("code", name)  
y<-yy[months(time(yy), TRUE) %in% c("Sep", "Oct", "Nov")]  
CET<-merge(x, y, all = TRUE, fill = NA, check.names=FALSE)  
for (i in 3:length(files))  
{
  z<-read.zoo(files[i],sep=",", header=TRUE,index.column=1)  
  name<- as.name(z$code[1])  
  colnames(z) <- c("code", name)  
  CET<-merge(CET, z, all = TRUE, fill = NA, check.names=FALSE)  
}  
a<-1:(dim(CET)[2])  
even <- a[ a%%2 == 0 ]    
# saves the precipitation column (even numbers) and discards the code ones
dat<-CET[,even]
c.mat<-cor(dat,use="pairwise.complete.obs" )

Mais quelque chose ne va pas: dans la matrice de corrélation, certains des noms de colonne / lignes ont un ".z" ou ".cet" supplémentaire et, surtout, les coefficients de corrélation ne sont pas corrects! Je ne trouve pas le problème, donc toute aide à trouver le problème ou à proposer un code plus simple pour le faire sera très appréciée!

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top