2017-08-02 14 views
0

私は10進変数のデータフレームを持っているが、このように見えた:rの二項変数間の相関行列を計算するには?

V1 V2 V3... 
0 1 1 
1 1 0 
1 0 1 
0 0 1 

私はその後、私は因子分析を行うことができ、相関行列を取得する必要があります。
psych::corr.testは、相関行列の計算を計算できますが、バイナリデータには使用されないperson,spearmankendallのメソッドしかありません。
次に、このデータフレームの相関行列を計算する方法は?

+0

実際、ピアソン相関係数はバイナリ変数にも使用できます。 – sedsiv

+1

相関を計算する代わりに、私はむしろJaccardのような類似度係数/指標を使用したいと思います。 – Miha

+1

は、変数が表すものによっても異なります。それらが基礎となる正規分布変数の指標となることができれば、四次相関を使用することができます。 – user20650

答えて

0
# create data 
m <- matrix(sample(x = 0:1,size = 200,replace = T),ncol = 10) 
colnames(m) <- LETTERS[1:10] 
m 
# create cor matrix 
res <- data.frame() 
for(i in seq(ncol(m))){ 
    z <- m[,i] 
    z <- apply(m,2,function(x){sum(x==z)/length(z)}) 
    res <- rbind(res,z) 
} 
colnames(res) <- colnames(m) 
rownames(res) <- colnames(m) 
res <- as.matrix(res) 
res 
+0

これは一致した割合を計算しますか? ( 'allproxy(crossprod(m)+ crossprod(m))/ nrow(m)、res)') – user20650

+0

私は用語の精度にもっと傾いていますが、これはこのように呼び出すことができると思います – Edvardoss

0

連続したデータに適しています。 https://www.quora.com/Is-it-possible-to-calculate-correlations-between-binary-variables

uはあなたがノンパラメトリック法を試すことができますがあなたはまだ、因子分析を達成%のマッチを計算し、> X%可変整合を削除することができhttp://www.cedar.buffalo.edu/papers/articles/CVPRIP03_propbina.pdf

を試してみてください。この方法で、データの次元を削除できます。

関連する問題