【问题标题】:Calculate associated events计算关联事件
【发布时间】:2022-08-23 08:38:54
【问题描述】:

我有一个仅由值为10 的变量组成的数据集。 1 表示存在某个事件,而0 表示不存在。

df <- data.frame(event1 = c(1, 0, 0, 1, 0, 0, 1),
                    event2 = c(1, 1, 0, 1, 0, 0, 1),
                    event3 = c(1, 0, 0, 0, 0, 0, 0))

我想要一个矩阵或热图,它可以为我提供这些事件之间的相关性,也就是说,当同一记录的多个变量的值等于1 时。

在上面的示例数据集中,我应该将event1event2 关联3 次(第一条记录、第四条记录和最后一条记录),event2event3 关联1 次(第一条记录)等等。

    标签: r dataframe matrix boolean dataset


    【解决方案1】:

    你可以用矩阵乘法来做到这一点:

    m = as.matrix(df)
    t(m) %*% m
    #        event1 event2 event3
    # event1      3      3      1
    # event2      3      4      1
    # event3      1      1      1
    

    【讨论】:

    • 谢谢你。如果我想考虑 3 个或更多事件而不是 2 个,有什么想法吗?
    • 我不明白——这有 3 个事件。它将扩展到您可以在内存中保存的尽可能多的事件。
    • 我的意思是 3 个或更多事件的关联,而不是问题中的 2 个。事件 1-2-3 的组合又如何呢? (在示例中,第一条记录为 1 次)
    • 啊。我不知道一个简单的通用答案。你可能想问一个新问题。如果可以,请具体说明您希望结果的外观——一个 3 维数组可能是有意义的,但我确实发现它们使用起来令人困惑。
    猜你喜欢
    • 2010-10-06
    • 2013-10-10
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多