如何使用cor()函数计算引起相关值的对的计数

时间:2018-02-23 16:06:53

标签: r

我喜欢cor()函数,但想知道如何计算稀疏矩阵中的对数,从而产生相关值。 非常感谢。

这是我所拥有的数据表的简化版本。 example data table picture

我还添加了我在here

上工作的实际文件的缩减版本

我想要的是找到一种方法给我一些类似下面的矩阵(下面是来自pic而不是超链接中的文件): example desired output

这显示了columnA和columnB之间共有多少对值,因此我可以看到哪些列值得在相关性中进行比较。这有意义吗?

  

dput(垫)   结构(列表(A = c(9.4,9.4,4.7,1.2,NA,0.6,7.712,0.2,   NA,NA,3.13,NA,1.56,6.25,NA,NA,0.9471,NA,1.56,1.2,   0.78,NA,NA,NA,NA,NA,NA),B = c(4.7,12.5,2.3,2.3,9.4,   0.78,9.45,0.6,NA,NA,3.13,NA,2.3,6.25,NA,NA,10.72,   NA,2.3,12.5,6.25,NA,NA,NA,NA,NA,NA),C = c(4.7,9.4,   4.7,0.6,NA,0.6,10.84,0.2,3.67,2.345,3.13,3.288,1.56,   9.4,11.21,0.6,2.256,50,1.56,3.13,0.78,18.7,0.66,1.2,   6.26,6.258,50)),. Name = c(" A"," B"," C"),class =" data.frame& #34;,row.names = c(NA,   -27L))

1 个答案:

答案 0 :(得分:1)

outdf <- c()
for (x in colnames(mat)) {
  for (y in colnames(mat)) {
    subset <- mat[,c(x, y)]
    number_complete <- nrow(subset[complete.cases(subset),])
    row <- c(x, y, number_complete)
    outdf <- rbind(outdf, row)
  }
}
outdf <- data.frame(outdf)
dcast(outdf, X1 ~ X2)
# X1  A  B  C
# 1  A 14 14 14
# 2  B 14 15 14
# 3  C 14 14 26