我喜欢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))
答案 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