Sta*_*ing 1 statistics r matrix correlation
dat <- as.data.frame(replicate(100,sample(c(0,1),100,replace=TRUE)))
Run Code Online (Sandbox Code Playgroud)
我想创建一个 100 x 100 的矩阵,将这些二元变量之间的相关系数作为条目。
如果变量是连续的,那么我会用来cor()创建矩阵。我不确定cor()用 Pearson 作为方法是否合理。如果没有,假设我可以找到一个函数fn()来计算一对二元向量之间的相关性。构建 100 x 100 矩阵的有效方法是什么?
不确定这是堆栈溢出的答案。您要问的是二进制向量之间的相关性。这就是Pearson 发现的Phi 系数。
它近似于小值的 Pearson 相关性。你可以试试
sqrt(chisq.test(table(dat[,1],dat[,2]), correct=FALSE)$statistic/length(dat[,1]))
Run Code Online (Sandbox Code Playgroud)
并注意它给出的值0.08006408与
cor(dat[1], dat[2])
Run Code Online (Sandbox Code Playgroud)
这是因为近似值对于相当大的值非常好,比如大于 40。
所以,我主张节省一些时间并仅用cor(dat)作解决方案。