首页 文章

R中二元变量的相关分析

提问于
浏览
0
dat <- as.data.frame(replicate(100,sample(c(0,1),100,replace=TRUE)))

我想创建一个100乘100的矩阵,这些二进制变量之间的相关系数作为条目 .

如果变量是连续的,那么我会使用 cor() 来创建矩阵 . 我不确定与Pearson一起使用 cor() 是否合理 . 如果没有,说我可以找到一个函数 fn() 来计算一对二进制向量之间的相关性 . 构建100乘100矩阵的有效方法是什么?

1 回答

  • 1

    不确定这是堆栈溢出的答案 . 你要问的是二元向量之间的相关性 . 这被称为由Pearson发现的Phi coefficient .

    它近似于小值的Pearson相关性 . 你可以试试

    sqrt(chisq.test(table(dat[,1],dat[,2]), correct=FALSE)$statistic/length(dat[,1]))
    

    并注意它给出了相同的值 0.08006408

    cor(dat[1], dat[2])
    

    这是因为对于相当大的值(例如大于40),近似值非常好 .

    所以,我主张节省一些时间,只使用 cor(dat) 作为解决方案 .

相关问题