2017-07-18 19 views
0

2つの大きなデータセットがあり、それぞれが2000+のデータを持ち、5行ごとに共分散を見つけようとしています。どのようにしてR行ごとに共分散を見つけることができますか

x=c(1,2,3,4,5) 
y=c(6,7,8,9,10) 
df=data.frame(x,y) 
group=rep(1:length(df),each=2,length=length(df)) 

ので、私はあなたのポスト、@Ianにはいくつかのミスがありthis`

cov(x[1:2,],y[1:2,]) 

cov(x[3:4,],y[3:4,]) 
+2

のような共分散を見つけることができます私の次のステップは何ですか。 'a'は定義されておらず、' x'と 'y'は最初はベクトルですが、後ではそうではありません。'] 'の代わりに'} 'があります。また、その問題はあまり明確ではありません。 – Suren

+0

申し訳ありません。私はちょうどそれを編集し、それは良いですか? – Ian

答えて

0
library(zoo)  
x = c(1,2,3,4,5) 
y = c(6,7,8,9,10) 
rows = 2 
out = rollapply(data.frame(x,y), rows, function(x) cov(x[,1],x[,2]), 
        by.column=FALSE) 
out 
+0

ロールアップでちょっと説明してもらえますか?私はdata.frameを試してみましたが、私の共分散は何らかの理由ですべて同じ結果になっています:( – Ian

+0

'rollapply'は' x'のデータフレームの 'n'行に' cov() '関数を適用し、 'x = rnorm(5、0、2) 'を変更してみてください。 'と' y = rnorm(5、0、3) 'の違いが分かります。 – AK88

+0

ありがとうございました。 – Ian

関連する問題