簡體   English   中英

如何計算r中二進制變量之間的相關矩陣?

[英]How to calculate correlation matrix between binary variables in r?

我有 10 個二進制變量的數據框,如下所示:

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

我需要得到相關矩陣,然后才能進行因子分析。
psych::corr.test可以計算相關矩陣,但只有personspearmankendall方法,不用於二進制數據。
那么,如何計算這個數據幀的相關矩陣呢?

相關方法適用於連續數據。 https://www.quora.com/Is-it-possible-to-calculate-correlations-between-binary-variables

你能試試非參數方法嗎http://www.cedar.buffalo.edu/papers/articles/CVPRIP03_propbina.pdf

您仍然可以實現因子分析,計算匹配百分比並刪除變量匹配>x%。 這樣您就可以刪除數據的維度。

# 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

您可以在列上使用層次聚類

hclus(x)

或者更好的是,您可以從“ward.D”、“ward.D2”、“單一”、“完整”中選擇一種聚類方法... https://www.rdocumentation.org/packages/stats/versions/3.6。 2/主題/hclust

另一種解決方案是將您的二進制矩陣可視化為熱圖,這是一個具有共同特征的類似變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM