r - 计算数据框中所有列对之间的点积

标签 r dataframe dot-product r-daisy

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

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

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

最佳答案

让我们使用这个例子:

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

关于r - 计算数据框中所有列对之间的点积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849729/

相关文章:

r - 奇怪的错误 : formal arguments omitted in the method definition cannot be in the signature

r - 为什么 R 对象不在函数或 "for"循环中打印?

python - 如何将元组列表更改为 numpy 数组?

numpy - 点积之和

arrays - 对于单精度数组,如何使 Fortran SUM 命令结果超过 2^24

r - lm() 或 gls() 的正系数

python - Pandas 数据框获取每组的第一行并复制到其他行

python - 如何根据匹配年份加上前 2 年从另一个数据框中提取多行

python - Pandas - 使用每行元素的点积创建新的 DataFrame 列

r - 通过自相关法计算音高误差