【问题标题】:computing the dot product between all column pairs in a data frame [closed]计算数据框中所有列对之间的点积
【发布时间】:2014-05-24 21:15:27
【问题描述】:

我有一个 R data frame 哪些列是逻辑变量。 我需要在所有可能的列对之间制作某种点积

这源于文本语料库分析,其中数据框指示哪些术语(行)存在于哪些文档(列)中。对于希望计算每个可能的列对的距离的情况,有一些常见的快速解决方案,使用来自cluster 包的daisy 或来自lsa 包的cosine

然而,我需要在所有列对之间使用某种 点积:目标是计算比较的两个文档中同时存在多少单词(对于每个对)。

【问题讨论】:

标签: r dataframe dot-product r-daisy


【解决方案1】:

让我们用这个例子:

df <- data.frame(x1 = c(T, T, F), x2 = c(F, F, F), x3 = c(T, F, T))

我会将 data.frame 转换为矩阵,然后计算叉积:

crossprod(data.matrix(df))
#    x1 x2 x3
# x1  2  0  1
# x2  0  0  0
# x3  1  0  2

【讨论】:

    猜你喜欢
    • 2019-09-14
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 2022-11-16
    相关资源
    最近更新 更多