質問
このように見える動物園オブジェクトを含むいくつかのファイルがあります(各ファイルは異なる日付で始まり、終了します):
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
9月、10月、11月の月のすべてのファイルのPP間に相関マトリックスを実行したい(誰が誰であるかを識別できるようにコードを表示します)。 list.files関数を使用することはできません(コードはjoranによって親切に提供されました 異なるファイル間の相関マトリックス)コード列のNASのため。それで、私は従来のコードを思いつきました:
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" )
しかし、何かが間違っています。相関マトリックスでは、列/行名の一部には「.Z」または「.cet」が追加されており、最も重要なことに、相関係数は正しくありません。私は問題を見つけることができないので、問題を見つけたり、これを行うためのより単純なコードを提案したりするのに役立つことは非常に高く評価されます!
正しい解決策はありません
所属していません StackOverflow