r语言 - 多列双向交叉



我有病人诊断的数据。有13列,每列都有不同的疾病类型,它们都存储二进制值(0-无疾病,1-有疾病)。我想看看这两种疾病的并发情况,也就是说,看看一个患有第二种疾病的病人身上有多少次出现了第一种疾病。我的数据(简化):

ID <- sample(10:50, 20)
type1 <- sample(0:1, 20, replace = T)
type2 <- sample(0:1, 20, replace = T)
type3 <- sample(0:1, 20, replace = T)
type4 <- sample(0:1, 20, replace = T)
type5 <- sample(0:1, 20, replace = T)
type6 <- sample(0:1, 20, replace = T)
data <- cbind.data.frame(ID, type1, type2, type3, type4, type5, type6)

我正在寻找类似于cor(的输出,这将给我计数而不是频率/相关度量

试试这个:

data_matrix <- as.matrix(data[, 2:ncol(data)])
cooccurrence <- crossprod(data_matrix)
diag(cooccurrence) <- 0

这是一个对称矩阵。只取上三角形或下三角形

相关内容

  • 没有找到相关文章

最新更新